//@ check-pass //@ revisions: current next //@ ignore-compare-mode-next-solver (explicit revisions) //@[next] compile-flags: -Znext-solver #![feature(trait_upcasting)] trait Target {} trait Source: Send + Target {} fn upcast(x: &dyn Source) -> &(dyn Target + Send) { x } fn same(x: &dyn Source) -> &(dyn Source + Send) { x } fn main() {}