| //@ check-pass | |
| //@ revisions: current next | |
| //@ ignore-compare-mode-next-solver (explicit revisions) | |
| //@[next] compile-flags: -Znext-solver | |
| // Exercises change in <https://github.com/rust-lang/rust/pull/138176>. | |
| trait Trait<T>: Sized {} | |
| impl<T> Trait<T> for T {} | |
| fn is_sized<T: Sized>() {} | |
| fn normal_ref<'a, 'b, T>() | |
| where | |
| &'a u32: Trait<T>, | |
| { | |
| is_sized::<&'b u32>(); | |
| } | |
| struct MyRef<'a, U: ?Sized = ()>(&'a u32, U); | |
| fn my_ref<'a, 'b, T>() | |
| where | |
| MyRef<'a>: Trait<T>, | |
| { | |
| is_sized::<MyRef<'b>>(); | |
| } | |
| fn main() {} |