]> git.lizzy.rs Git - rust.git/blob - src/test/ui/object-safety/object-safety-supertrait-mentions-Self.rs
Merge commit '97e504549371d7640cf011d266e3c17394fdddac' into sync_cg_clif-2021-12-20
[rust.git] / src / test / ui / object-safety / object-safety-supertrait-mentions-Self.rs
1 // Check that we correctly prevent users from making trait objects
2 // form traits that make use of `Self` in an argument or return position.
3
4 trait Bar<T> {
5     fn bar(&self, x: &T);
6 }
7
8 trait Baz : Bar<Self> {
9 }
10
11 fn make_bar<T:Bar<u32>>(t: &T) -> &dyn Bar<u32> {
12     t
13 }
14
15 fn make_baz<T:Baz>(t: &T) -> &dyn Baz {
16     //~^ ERROR E0038
17     t
18 }
19
20 fn main() {
21 }