]> git.lizzy.rs Git - rust.git/blob - tests/ui/traits/trait-upcasting/multiple-occurrence-ambiguousity.rs
Auto merge of #101138 - Rejyr:diagnostic-migration-rustc-lint-pt2, r=davidtwco
[rust.git] / tests / ui / traits / trait-upcasting / multiple-occurrence-ambiguousity.rs
1 // check-fail
2 #![feature(trait_upcasting)]
3
4 trait Bar<T> {
5     fn bar(&self, _: T) {}
6 }
7
8 trait Foo: Bar<i32> + Bar<u32> {
9     fn foo(&self, _: ()) {}
10 }
11
12 struct S;
13
14 impl Bar<i32> for S {}
15 impl Bar<u32> for S {}
16 impl Foo for S {}
17
18 fn main() {
19     let s: &dyn Foo = &S;
20     let t: &dyn Bar<_> = s; //~ ERROR mismatched types
21 }