This module contains the “cleaned” pieces of the AST, and the functions that clean them.
The representation of a
Support for inlining external documentation into the current AST.
Simplification of where-clauses and parameter bounds into a prettier and more canonical form.
This visitor is used to go through only the “top level” of a item and not enter any sub item while looking for a given
Identwhich is stored into
This is needed to make it more “readable” when documenting functions using
rustc_legacy_const_generics. More information in https://github.com/rust-lang/rust/issues/83167.
Useitem directly links to the imported item, we need to manually go through each import one by one. To do so, we go to the parent item and look for the
Identinto it. Then, if we found the “end item” (the imported one), we stop there because we don’t need its documentation. Otherwise, we repeat the same operation until we find the “end item”.
This can happen for
async fn, e.g.
async fn f<'_>(&'_ self).
Synthetic type-parameters are inserted after normal ones. In order for normal parameters to be able to refer to synthetic ones, scans them first.
Noneif the type could not be normalized