| use rustc_macros::{Decodable, Encodable, HashStable}; | 
 | use rustc_span::Symbol; | 
 | use rustc_span::def_id::DefId; | 
 |  | 
 | use super::TyCtxt; | 
 |  | 
 | #[derive(Copy, Clone, Debug, Decodable, Encodable, HashStable)] | 
 | pub struct IntrinsicDef { | 
 |     pub name: Symbol, | 
 |     /// Whether the intrinsic has no meaningful body and all backends need to shim all calls to it. | 
 |     pub must_be_overridden: bool, | 
 |     /// Whether the intrinsic can be invoked from stable const fn | 
 |     pub const_stable: bool, | 
 | } | 
 |  | 
 | impl TyCtxt<'_> { | 
 |     pub fn is_intrinsic(self, def_id: DefId, name: Symbol) -> bool { | 
 |         let Some(i) = self.intrinsic(def_id) else { return false }; | 
 |         i.name == name | 
 |     } | 
 | } |