//@ check-pass // Makes sure that we only consider `Self` supertrait predicates while // elaborating during closure signature deduction. #![feature(trait_alias)] trait Confusing = Fn(i32) where F: Fn(u32); fn alias, F>(_: T, _: F) {} fn main() { alias(|_| {}, |_| {}); }