Recurse into function bodies, but don't typeck closures
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.
This commit is contained in:
6
src/test/rustdoc-ui/error-in-impl-trait/impl-keyword.rs
Normal file
6
src/test/rustdoc-ui/error-in-impl-trait/impl-keyword.rs
Normal file
@@ -0,0 +1,6 @@
|
||||
pub trait ValidTrait {}
|
||||
/// This returns impl trait
|
||||
pub fn g() -> impl ValidTrait {
|
||||
error::_in::impl_trait()
|
||||
//~^ ERROR failed to resolve
|
||||
}
|
||||
Reference in New Issue
Block a user