[−][src]Struct rustc_lint::builtin::ClashingExternDeclarations
Fields
seen_decls: FxHashMap<Symbol, HirId>Implementations
impl ClashingExternDeclarations[src]
pub(crate) fn new() -> Self[src]
pub(in builtin) fn insert(
&mut self,
tcx: TyCtxt<'_>,
fi: &ForeignItem<'_>
) -> Option<HirId>[src]
&mut self,
tcx: TyCtxt<'_>,
fi: &ForeignItem<'_>
) -> Option<HirId>
Insert a new foreign item into the seen set. If a symbol with the same name already exists for the item, return its HirId without updating the set.
pub(in builtin) fn name_of_extern_decl(
tcx: TyCtxt<'_>,
fi: &ForeignItem<'_>
) -> SymbolName[src]
tcx: TyCtxt<'_>,
fi: &ForeignItem<'_>
) -> SymbolName
Get the name of the symbol that's linked against for a given extern declaration. That is, the name specified in a #[link_name = ...] attribute if one was specified, else, just the symbol's name.
pub(in builtin) fn structurally_same_type<'tcx>(
cx: &LateContext<'tcx>,
a: Ty<'tcx>,
b: Ty<'tcx>,
ckind: CItemKind
) -> bool[src]
cx: &LateContext<'tcx>,
a: Ty<'tcx>,
b: Ty<'tcx>,
ckind: CItemKind
) -> bool
Checks whether two types are structurally the same enough that the declarations shouldn't clash. We need this so we don't emit a lint when two modules both declare an extern struct, with the same members (as the declarations shouldn't clash).
impl ClashingExternDeclarations[src]
Trait Implementations
impl<'tcx> LateLintPass<'tcx> for ClashingExternDeclarations[src]
pub fn check_foreign_item(
&mut self,
cx: &LateContext<'tcx>,
this_fi: &ForeignItem<'_>
)[src]
&mut self,
cx: &LateContext<'tcx>,
this_fi: &ForeignItem<'_>
)
pub fn check_param(&mut self, _: &LateContext<'tcx>, _: &'tcx Param<'tcx>)[src]
pub fn check_body(&mut self, _: &LateContext<'tcx>, _: &'tcx Body<'tcx>)[src]
pub fn check_body_post(&mut self, _: &LateContext<'tcx>, _: &'tcx Body<'tcx>)[src]
pub fn check_name(&mut self, _: &LateContext<'tcx>, _: Span, _: Symbol)[src]
pub fn check_crate(&mut self, _: &LateContext<'tcx>, _: &'tcx Crate<'tcx>)[src]
pub fn check_crate_post(&mut self, _: &LateContext<'tcx>, _: &'tcx Crate<'tcx>)[src]
pub fn check_mod(
&mut self,
_: &LateContext<'tcx>,
_: &'tcx Mod<'tcx>,
_: Span,
_: HirId
)[src]
&mut self,
_: &LateContext<'tcx>,
_: &'tcx Mod<'tcx>,
_: Span,
_: HirId
)
pub fn check_mod_post(
&mut self,
_: &LateContext<'tcx>,
_: &'tcx Mod<'tcx>,
_: Span,
_: HirId
)[src]
&mut self,
_: &LateContext<'tcx>,
_: &'tcx Mod<'tcx>,
_: Span,
_: HirId
)
pub fn check_foreign_item_post(
&mut self,
_: &LateContext<'tcx>,
_: &'tcx ForeignItem<'tcx>
)[src]
&mut self,
_: &LateContext<'tcx>,
_: &'tcx ForeignItem<'tcx>
)
pub fn check_item(&mut self, _: &LateContext<'tcx>, _: &'tcx Item<'tcx>)[src]
pub fn check_item_post(&mut self, _: &LateContext<'tcx>, _: &'tcx Item<'tcx>)[src]
pub fn check_local(&mut self, _: &LateContext<'tcx>, _: &'tcx Local<'tcx>)[src]
pub fn check_block(&mut self, _: &LateContext<'tcx>, _: &'tcx Block<'tcx>)[src]
pub fn check_block_post(&mut self, _: &LateContext<'tcx>, _: &'tcx Block<'tcx>)[src]
pub fn check_stmt(&mut self, _: &LateContext<'tcx>, _: &'tcx Stmt<'tcx>)[src]
pub fn check_arm(&mut self, _: &LateContext<'tcx>, _: &'tcx Arm<'tcx>)[src]
pub fn check_pat(&mut self, _: &LateContext<'tcx>, _: &'tcx Pat<'tcx>)[src]
pub fn check_expr(&mut self, _: &LateContext<'tcx>, _: &'tcx Expr<'tcx>)[src]
pub fn check_expr_post(&mut self, _: &LateContext<'tcx>, _: &'tcx Expr<'tcx>)[src]
pub fn check_ty(&mut self, _: &LateContext<'tcx>, _: &'tcx Ty<'tcx>)[src]
pub fn check_generic_arg(
&mut self,
_: &LateContext<'tcx>,
_: &'tcx GenericArg<'tcx>
)[src]
&mut self,
_: &LateContext<'tcx>,
_: &'tcx GenericArg<'tcx>
)
pub fn check_generic_param(
&mut self,
_: &LateContext<'tcx>,
_: &'tcx GenericParam<'tcx>
)[src]
&mut self,
_: &LateContext<'tcx>,
_: &'tcx GenericParam<'tcx>
)
pub fn check_generics(&mut self, _: &LateContext<'tcx>, _: &'tcx Generics<'tcx>)[src]
pub fn check_where_predicate(
&mut self,
_: &LateContext<'tcx>,
_: &'tcx WherePredicate<'tcx>
)[src]
&mut self,
_: &LateContext<'tcx>,
_: &'tcx WherePredicate<'tcx>
)
pub fn check_poly_trait_ref(
&mut self,
_: &LateContext<'tcx>,
_: &'tcx PolyTraitRef<'tcx>,
_: TraitBoundModifier
)[src]
&mut self,
_: &LateContext<'tcx>,
_: &'tcx PolyTraitRef<'tcx>,
_: TraitBoundModifier
)
pub fn check_fn(
&mut self,
_: &LateContext<'tcx>,
_: FnKind<'tcx>,
_: &'tcx FnDecl<'tcx>,
_: &'tcx Body<'tcx>,
_: Span,
_: HirId
)[src]
&mut self,
_: &LateContext<'tcx>,
_: FnKind<'tcx>,
_: &'tcx FnDecl<'tcx>,
_: &'tcx Body<'tcx>,
_: Span,
_: HirId
)
pub fn check_fn_post(
&mut self,
_: &LateContext<'tcx>,
_: FnKind<'tcx>,
_: &'tcx FnDecl<'tcx>,
_: &'tcx Body<'tcx>,
_: Span,
_: HirId
)[src]
&mut self,
_: &LateContext<'tcx>,
_: FnKind<'tcx>,
_: &'tcx FnDecl<'tcx>,
_: &'tcx Body<'tcx>,
_: Span,
_: HirId
)
pub fn check_trait_item(
&mut self,
_: &LateContext<'tcx>,
_: &'tcx TraitItem<'tcx>
)[src]
&mut self,
_: &LateContext<'tcx>,
_: &'tcx TraitItem<'tcx>
)
pub fn check_trait_item_post(
&mut self,
_: &LateContext<'tcx>,
_: &'tcx TraitItem<'tcx>
)[src]
&mut self,
_: &LateContext<'tcx>,
_: &'tcx TraitItem<'tcx>
)
pub fn check_impl_item(
&mut self,
_: &LateContext<'tcx>,
_: &'tcx ImplItem<'tcx>
)[src]
&mut self,
_: &LateContext<'tcx>,
_: &'tcx ImplItem<'tcx>
)
pub fn check_impl_item_post(
&mut self,
_: &LateContext<'tcx>,
_: &'tcx ImplItem<'tcx>
)[src]
&mut self,
_: &LateContext<'tcx>,
_: &'tcx ImplItem<'tcx>
)
pub fn check_struct_def(
&mut self,
_: &LateContext<'tcx>,
_: &'tcx VariantData<'tcx>
)[src]
&mut self,
_: &LateContext<'tcx>,
_: &'tcx VariantData<'tcx>
)
pub fn check_struct_def_post(
&mut self,
_: &LateContext<'tcx>,
_: &'tcx VariantData<'tcx>
)[src]
&mut self,
_: &LateContext<'tcx>,
_: &'tcx VariantData<'tcx>
)
pub fn check_struct_field(
&mut self,
_: &LateContext<'tcx>,
_: &'tcx StructField<'tcx>
)[src]
&mut self,
_: &LateContext<'tcx>,
_: &'tcx StructField<'tcx>
)
pub fn check_variant(&mut self, _: &LateContext<'tcx>, _: &'tcx Variant<'tcx>)[src]
pub fn check_variant_post(
&mut self,
_: &LateContext<'tcx>,
_: &'tcx Variant<'tcx>
)[src]
&mut self,
_: &LateContext<'tcx>,
_: &'tcx Variant<'tcx>
)
pub fn check_lifetime(&mut self, _: &LateContext<'tcx>, _: &'tcx Lifetime)[src]
pub fn check_path(
&mut self,
_: &LateContext<'tcx>,
_: &'tcx Path<'tcx>,
_: HirId
)[src]
&mut self,
_: &LateContext<'tcx>,
_: &'tcx Path<'tcx>,
_: HirId
)
pub fn check_attribute(&mut self, _: &LateContext<'tcx>, _: &'tcx Attribute)[src]
pub fn enter_lint_attrs(&mut self, _: &LateContext<'tcx>, _: &'tcx [Attribute])[src]
pub fn exit_lint_attrs(&mut self, _: &LateContext<'tcx>, _: &'tcx [Attribute])[src]
impl LintPass for ClashingExternDeclarations[src]
Auto Trait Implementations
impl RefUnwindSafe for ClashingExternDeclarations
impl Send for ClashingExternDeclarations
impl Sync for ClashingExternDeclarations
impl Unpin for ClashingExternDeclarations
impl UnwindSafe for ClashingExternDeclarations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,