// Ensure that rustdoc gives errors for trait impls inside function bodies that don't resolve. // See https://github.com/rust-lang/rust/pull/73566 pub struct ValidType; pub trait ValidTrait {} pub trait NeedsBody { type Item; fn f(); } /// This function has docs pub fn f(a: UnknownType, b: B) { //~^ ERROR cannot find trait `UnknownBound` in this scope //~| ERROR cannot find type `UnknownType` in this scope impl UnknownTrait for ValidType {} //~ ERROR cannot find trait `UnknownTrait` impl UnknownTrait for T {} //~^ ERROR cannot find trait `UnknownBound` in this scope //~| ERROR cannot find trait `UnknownTrait` in this scope impl ValidTrait for UnknownType {} //~^ ERROR cannot find type `UnknownType` in this scope impl ValidTrait for ValidType where ValidTrait: UnknownBound {} //~^ ERROR cannot find trait `UnknownBound` in this scope /// This impl has documentation impl NeedsBody for ValidType { type Item = UnknownType; //~^ ERROR cannot find type `UnknownType` in this scope /// This function has documentation fn f() { ::a(); content::shouldnt::matter(); unknown_macro!(); //~^ ERROR cannot find macro `unknown_macro` in this scope /// This is documentation for a macro macro_rules! can_define_macros_here_too { () => { this::content::should::also::be::ignored() } } can_define_macros_here_too!(); /// This also is documented. pub fn doubly_nested(c: UnknownType) { //~^ ERROR cannot find type `UnknownType` in this scope } } } }