Make #[used]
considered reachable
This commit is contained in:
parent
49cc6d1f84
commit
a1dae4bc9d
1 changed files with 5 additions and 0 deletions
|
@ -333,6 +333,11 @@ impl CollectPrivateImplItemsVisitor<'_, '_> {
|
||||||
let codegen_attrs = self.tcx.codegen_fn_attrs(def_id);
|
let codegen_attrs = self.tcx.codegen_fn_attrs(def_id);
|
||||||
if codegen_attrs.contains_extern_indicator()
|
if codegen_attrs.contains_extern_indicator()
|
||||||
|| codegen_attrs.flags.contains(CodegenFnAttrFlags::RUSTC_STD_INTERNAL_SYMBOL)
|
|| codegen_attrs.flags.contains(CodegenFnAttrFlags::RUSTC_STD_INTERNAL_SYMBOL)
|
||||||
|
// FIXME(nbdd0121): `#[used]` are marked as reachable here so it's picked up by
|
||||||
|
// `linked_symbols` in cg_ssa. They won't be exported in binary or cdylib due to their
|
||||||
|
// `SymbolExportLevel::Rust` export level but may end up being exported in dylibs.
|
||||||
|
|| codegen_attrs.flags.contains(CodegenFnAttrFlags::USED)
|
||||||
|
|| codegen_attrs.flags.contains(CodegenFnAttrFlags::USED_LINKER)
|
||||||
{
|
{
|
||||||
self.worklist.push(def_id);
|
self.worklist.push(def_id);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue