// check-pass // compile-flags: -Znext-solver // See https://github.com/rust-lang/trait-system-refactor-initiative/issues/1 // a minimization of a pattern in core. fn next, U>(t: &mut T) -> Option { t.next() } fn foo(t: &mut T) { let _: Option = next(t); } fn main() {}