//@ compile-flags: -Znext-solver | |
//@ check-pass | |
pub trait With { | |
type F; | |
} | |
impl With for i32 { | |
type F = fn(&str); | |
} | |
fn f(_: &str) {} | |
fn main() { | |
let _: V<i32> = V(f); | |
pub struct V<T: With>(<T as With>::F); | |
pub enum E3<T: With> { | |
Var(<T as With>::F), | |
} | |
let _: E3<i32> = E3::Var(f); | |
} |