| #![feature(deref_patterns)] | |
| #![allow(incomplete_features)] | |
| struct MyPointer; | |
| impl std::ops::Deref for MyPointer { | |
| type Target = (); | |
| fn deref(&self) -> &() { | |
| &() | |
| } | |
| } | |
| fn main() { | |
| // Test that we get a trait error if a user attempts implicit deref pats on their own impls. | |
| // FIXME(deref_patterns): there should be a special diagnostic for missing `DerefPure`. | |
| match MyPointer { | |
| () => {} | |
| //~^ ERROR the trait bound `MyPointer: DerefPure` is not satisfied | |
| _ => {} | |
| } | |
| } |