Enum rustc::middle::def::Def[src]
pub enum Def {
DefFn(DefId, FnStyle),
DefStaticMethod(DefId, MethodProvenance, FnStyle),
DefSelfTy(NodeId),
DefMod(DefId),
DefForeignMod(DefId),
DefStatic(DefId, bool),
DefArg(NodeId, BindingMode),
DefLocal(NodeId, BindingMode),
DefVariant(DefId, DefId, bool),
DefTy(DefId),
DefTrait(DefId),
DefPrimTy(PrimTy),
DefTyParam(ParamSpace, DefId, uint),
DefBinding(NodeId, BindingMode),
DefUse(DefId),
DefUpvar(NodeId, Gc<Def>, NodeId, NodeId),
DefStruct(DefId),
DefTyParamBinder(NodeId),
DefRegion(NodeId),
DefLabel(NodeId),
DefMethod(DefId, Option<DefId>),
}Variants
DefFn | |
DefStaticMethod | |
DefSelfTy | |
DefMod | |
DefForeignMod | |
DefStatic | |
DefArg | |
DefLocal | |
DefVariant | |
DefTy | |
DefTrait | |
DefPrimTy | |
DefTyParam | |
DefBinding | |
DefUse | |
DefUpvar | |
DefStruct | Note that if it's a tuple struct's definition, the node id of the ast::DefId may either refer to the item definition's id or the StructDef.ctor_id. The cases that I have encountered so far are (this is not exhaustive): - If it's a ty_path referring to some tuple struct, then DefMap maps it to a def whose id is the item definition's id. - If it's an ExprPath referring to some tuple struct, then DefMap maps it to a def whose id is the StructDef.ctor_id. |
DefTyParamBinder | |
DefRegion | |
DefLabel | |
DefMethod |