]> git.lizzy.rs Git - rust.git/blob - src/test/ui/coherence/coherence-subtyping.rs
Merge commit 'ea199bacef07213dbe008841b89c450e3bf0c638' into rustfmt-sync
[rust.git] / src / test / ui / coherence / coherence-subtyping.rs
1 // Test that two distinct impls which match subtypes of one another
2 // yield coherence errors (or not) depending on the variance.
3 //
4 // Note: This scenario is currently accepted, but as part of the
5 // universe transition (#56105) may eventually become an error.
6
7 // check-pass
8
9 trait TheTrait {
10     fn foo(&self) {}
11 }
12
13 impl TheTrait for for<'a, 'b> fn(&'a u8, &'b u8) -> &'a u8 {}
14
15 impl TheTrait for for<'a> fn(&'a u8, &'a u8) -> &'a u8 {
16     //~^ WARNING conflicting implementation
17     //~^^ WARNING this was previously accepted by the compiler but is being phased out
18 }
19
20 fn main() {}