Description
Heads-up
The example below should not compile and currently does not compile, so this is going to be low priority.
However, the example compiled for 1.63 -- 1.67 inclusive (it doesn't compile in 1.62 or in 1.68 to current).
I didn't see anything that looked relevant in the release notes, and I figure there should at least be a test somewhere, so it doesn't start compiling again.
So this issue is primarily about making sure a test exists.
Code
pub trait Trait {}
pub trait Assoc<'x> {
type A: ?Sized;
}
impl<'x> Assoc<'x> for str { type A = &'x dyn Trait; }
pub fn assoc<T: 'static>() {}
pub fn assoc_helper<'a: 'a>() {
assoc::< <str as Assoc<'a>>::A >();
}
I expected to see this happen: Inexplicably compile like it did during some exploration months ago. (Search for "this all works" for more examples with probably irrelevant variations if you're curious.)
Instead, this happened: Failed to compile, which makes more sense.
Version it worked on
It most recently worked on: Rust 1.67, and also 1.63, 1.64, 1.65, and 1.66.
Version with regression
1.68 to present.