//@ 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 FnOnce(&'static ()) -> &'static ()>(); trait Foo: for<'a> Bar<'a> {} trait Bar<'a> {} test::>(); test::>(); }