
Previously, rustdoc would issue a delay_span_bug ICE on the following code: ```rust pub fn a() -> impl Fn() -> u32 { || content::doesnt::matter() } ``` This wasn't picked up earlier because having `type Alias = impl Trait;` in the same module caused _all closures_ to be typechecked, even if they wouldn't normally. Additionally, if _any_ error was emitted, no delay_span_bug would be emitted. So as part of this commit all of the tests were separated out into different files.
10 lines
268 B
Rust
10 lines
268 B
Rust
#![feature(type_alias_impl_trait)]
|
|
|
|
pub trait ValidTrait {}
|
|
type ImplTrait = impl ValidTrait;
|
|
|
|
/// This returns impl trait, but using a type alias
|
|
pub fn h() -> ImplTrait {
|
|
(|| error::_in::impl_trait::alias::nested::closure())()
|
|
//~^ ERROR failed to resolve
|
|
}
|