Fix missing cfg propagation for reexports
This commit is contained in:
parent
4a24f08ba4
commit
01d64f5e3e
5 changed files with 71 additions and 8 deletions
|
|
@ -300,7 +300,7 @@ pub(crate) fn build_impls(
|
|||
}
|
||||
|
||||
/// `parent_module` refers to the parent of the re-export, not the original item
|
||||
fn merge_attrs(
|
||||
pub(crate) fn merge_attrs(
|
||||
cx: &mut DocContext<'_>,
|
||||
parent_module: Option<DefId>,
|
||||
old_attrs: Attrs<'_>,
|
||||
|
|
|
|||
|
|
@ -482,7 +482,7 @@ impl Item {
|
|||
cx: &mut DocContext<'_>,
|
||||
cfg: Option<Arc<Cfg>>,
|
||||
) -> Item {
|
||||
trace!("name={:?}, def_id={:?}", name, def_id);
|
||||
trace!("name={:?}, def_id={:?} cfg={:?}", name, def_id, cfg);
|
||||
|
||||
// Primitives and Keywords are written in the source code as private modules.
|
||||
// The modules need to be private so that nobody actually uses them, but the
|
||||
|
|
@ -801,6 +801,31 @@ impl ItemKind {
|
|||
| KeywordItem => [].iter(),
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns `true` if this item does not appear inside an impl block.
|
||||
pub(crate) fn is_non_assoc(&self) -> bool {
|
||||
matches!(
|
||||
self,
|
||||
StructItem(_)
|
||||
| UnionItem(_)
|
||||
| EnumItem(_)
|
||||
| TraitItem(_)
|
||||
| ModuleItem(_)
|
||||
| ExternCrateItem { .. }
|
||||
| FunctionItem(_)
|
||||
| TypedefItem(_)
|
||||
| OpaqueTyItem(_)
|
||||
| StaticItem(_)
|
||||
| ConstantItem(_)
|
||||
| TraitAliasItem(_)
|
||||
| ForeignFunctionItem(_)
|
||||
| ForeignStaticItem(_)
|
||||
| ForeignTypeItem
|
||||
| MacroItem(_)
|
||||
| ProcMacroItem(_)
|
||||
| PrimitiveItem(_)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue