We accept this,
pub trait Tr {
type Ty;
}
fn f(_: &dyn Tr<Ty = ()>) {}
and we accept this (as of rust-lang/rust#112319),
pub trait Tr {
type Ty where Self: Sized;
}
fn f(_: &dyn Tr) {}
but we of course don't accept this:
pub trait Tr {
type Ty;
}
fn f(_: &dyn Tr) {} //~ ERROR
The Reference should speak to this in our chapter on trait object types, but is silent on this matter.
cc @ehuss #1932 rust-lang/rust#127251