//@ compile-flags: -Znext-solver //@ check-pass // Make sure that we consider nested obligations when checking whether // we should coerce fn definitions to function pointers. fn foo() {} fn bar() {} fn main() { let _ = if true { foo::<{ 0 + 0 }> } else { foo::<1> }; let _ = if true { bar:: fn( as IntoIterator>::Item)> } else { bar:: }; }