//@ revisions: current next //@[next] compile-flags: -Znext-solver //@ ignore-compare-mode-next-solver (explicit revisions) //@ check-pass // Regression test for . // Ensure that we check the well-formedness of `::Output` after normalizing // the type to `()`, since we only imply outlives bounds from the normalized signature, so we // don't know (e.g.) that `&mut T` is WF. trait Mode { type Output; fn from_mut(_r: &mut Self::Output) -> Self::Output<&mut T>; } struct Check; impl Mode for Check { type Output = (); fn from_mut(_r: &mut Self::Output) -> Self::Output<&mut T> {} } fn main() {}