//@ check-pass //@ revisions: current next //@ ignore-compare-mode-next-solver (explicit revisions) //@[next] compile-flags: -Znext-solver // Verify that the unsize goal can cast a higher-ranked trait goal to // a non-higer-ranked instantiation. #![feature(unsize)] use std::marker::Unsize; fn test() where T: Unsize, { } fn main() { test:: Fn(&'a ()) -> &'a (), dyn Fn(&'static ()) -> &'static ()>(); trait Foo<'a, 'b> {} test:: Foo<'a, 'b>, dyn for<'a> Foo<'a, 'a>>(); trait Bar<'a> {} test:: Bar<'a>, dyn Bar<'_>>(); }