2023-03-11 17:16:46 -06:00
|
|
|
// compile-flags: -Ztrait-solver=next
|
2023-06-27 16:13:50 -05:00
|
|
|
// known-bug: #95863
|
2023-03-11 17:16:46 -06:00
|
|
|
|
|
|
|
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);
|
|
|
|
}
|