1use std::hash::{BuildHasher, Hash, Hasher};
6use std::{fmt, str};
7
8use rustc_arena::DroplessArena;
9use rustc_data_structures::fx::FxBuildHasher;
10use rustc_data_structures::hash_table::{Entry, HashTable};
11use rustc_data_structures::stable_hash::{StableCompare, StableHash, StableHashCtxt, StableHasher};
12use rustc_data_structures::sync::Lock;
13use rustc_macros::{Decodable, Encodable, StableHash, symbols};
14use rustc_serialize::ContextOrd;
15
16use crate::edit_distance::find_best_match_for_name;
17use crate::{DUMMY_SP, Edition, Span, with_session_globals};
18
19#[cfg(test)]
20mod tests;
21
22const SYMBOL_DIGITS_BASE: u32 = 2360u32;
const SYMBOL_UPPERCASE_LETTERS_BASE: u32 = 2370u32;
const SYMBOL_LOWERCASE_LETTERS_BASE: u32 = 2396u32;
#[doc = r" The number of predefined symbols; this is the first index for"]
#[doc = r" extra pre-interned symbols in an Interner created via"]
#[doc = r" [`Interner::with_extra_symbols`]."]
pub const PREDEFINED_SYMBOLS_COUNT: u32 = 2423u32;
#[doc(hidden)]
#[allow(non_upper_case_globals)]
mod kw_generated {
use super::Symbol;
pub const DollarCrate: Symbol = Symbol::new(0u32);
pub const PathRoot: Symbol = Symbol::new(1u32);
pub const Underscore: Symbol = Symbol::new(2u32);
pub const As: Symbol = Symbol::new(3u32);
pub const Break: Symbol = Symbol::new(4u32);
pub const Const: Symbol = Symbol::new(5u32);
pub const Continue: Symbol = Symbol::new(6u32);
pub const Crate: Symbol = Symbol::new(7u32);
pub const Else: Symbol = Symbol::new(8u32);
pub const Enum: Symbol = Symbol::new(9u32);
pub const Extern: Symbol = Symbol::new(10u32);
pub const False: Symbol = Symbol::new(11u32);
pub const Fn: Symbol = Symbol::new(12u32);
pub const For: Symbol = Symbol::new(13u32);
pub const If: Symbol = Symbol::new(14u32);
pub const Impl: Symbol = Symbol::new(15u32);
pub const In: Symbol = Symbol::new(16u32);
pub const Let: Symbol = Symbol::new(17u32);
pub const Loop: Symbol = Symbol::new(18u32);
pub const Match: Symbol = Symbol::new(19u32);
pub const Mod: Symbol = Symbol::new(20u32);
pub const Move: Symbol = Symbol::new(21u32);
pub const Mut: Symbol = Symbol::new(22u32);
pub const Pub: Symbol = Symbol::new(23u32);
pub const Ref: Symbol = Symbol::new(24u32);
pub const Return: Symbol = Symbol::new(25u32);
pub const SelfLower: Symbol = Symbol::new(26u32);
pub const SelfUpper: Symbol = Symbol::new(27u32);
pub const Static: Symbol = Symbol::new(28u32);
pub const Struct: Symbol = Symbol::new(29u32);
pub const Super: Symbol = Symbol::new(30u32);
pub const Trait: Symbol = Symbol::new(31u32);
pub const True: Symbol = Symbol::new(32u32);
pub const Type: Symbol = Symbol::new(33u32);
pub const Unsafe: Symbol = Symbol::new(34u32);
pub const Use: Symbol = Symbol::new(35u32);
pub const Where: Symbol = Symbol::new(36u32);
pub const While: Symbol = Symbol::new(37u32);
pub const Abstract: Symbol = Symbol::new(38u32);
pub const Become: Symbol = Symbol::new(39u32);
pub const Box: Symbol = Symbol::new(40u32);
pub const Do: Symbol = Symbol::new(41u32);
pub const Final: Symbol = Symbol::new(42u32);
pub const Macro: Symbol = Symbol::new(43u32);
pub const Override: Symbol = Symbol::new(44u32);
pub const Priv: Symbol = Symbol::new(45u32);
pub const Typeof: Symbol = Symbol::new(46u32);
pub const Unsized: Symbol = Symbol::new(47u32);
pub const Virtual: Symbol = Symbol::new(48u32);
pub const Yield: Symbol = Symbol::new(49u32);
pub const Async: Symbol = Symbol::new(50u32);
pub const Await: Symbol = Symbol::new(51u32);
pub const Dyn: Symbol = Symbol::new(52u32);
pub const Gen: Symbol = Symbol::new(53u32);
pub const Try: Symbol = Symbol::new(54u32);
pub const StaticLifetime: Symbol = Symbol::new(55u32);
pub const UnderscoreLifetime: Symbol = Symbol::new(56u32);
pub const Auto: Symbol = Symbol::new(57u32);
pub const Catch: Symbol = Symbol::new(58u32);
pub const ContractEnsures: Symbol = Symbol::new(59u32);
pub const ContractRequires: Symbol = Symbol::new(60u32);
pub const Default: Symbol = Symbol::new(61u32);
pub const Deref: Symbol = Symbol::new(62u32);
pub const FieldOf: Symbol = Symbol::new(63u32);
pub const MacroRules: Symbol = Symbol::new(64u32);
pub const OffsetOf: Symbol = Symbol::new(65u32);
pub const Pin: Symbol = Symbol::new(66u32);
pub const Raw: Symbol = Symbol::new(67u32);
pub const Reuse: Symbol = Symbol::new(68u32);
pub const Safe: Symbol = Symbol::new(69u32);
pub const TypeAscribe: Symbol = Symbol::new(70u32);
pub const Union: Symbol = Symbol::new(71u32);
pub const UnwrapBinder: Symbol = Symbol::new(72u32);
pub const WrapBinder: Symbol = Symbol::new(73u32);
pub const Yeet: Symbol = Symbol::new(74u32);
}
#[allow(non_upper_case_globals)]
#[doc(hidden)]
pub mod sym_generated {
use super::Symbol;
pub const Abi: Symbol = Symbol::new(75u32);
pub const AcqRel: Symbol = Symbol::new(76u32);
pub const Acquire: Symbol = Symbol::new(77u32);
pub const Active: Symbol = Symbol::new(78u32);
pub const ActiveOnly: Symbol = Symbol::new(79u32);
pub const Alignment: Symbol = Symbol::new(80u32);
pub const Arc: Symbol = Symbol::new(81u32);
pub const ArcWeak: Symbol = Symbol::new(82u32);
pub const Array: Symbol = Symbol::new(83u32);
pub const ArrayToPointer: Symbol = Symbol::new(84u32);
pub const AsMut: Symbol = Symbol::new(85u32);
pub const AsRef: Symbol = Symbol::new(86u32);
pub const AssertParamIsClone: Symbol = Symbol::new(87u32);
pub const AssertParamIsCopy: Symbol = Symbol::new(88u32);
pub const AssertParamIsEq: Symbol = Symbol::new(89u32);
pub const AsyncGenFinished: Symbol = Symbol::new(90u32);
pub const AsyncGenPending: Symbol = Symbol::new(91u32);
pub const AsyncGenReady: Symbol = Symbol::new(92u32);
pub const Atomic: Symbol = Symbol::new(93u32);
pub const BTreeMap: Symbol = Symbol::new(94u32);
pub const Bool: Symbol = Symbol::new(95u32);
pub const Borrow: Symbol = Symbol::new(96u32);
pub const BorrowMut: Symbol = Symbol::new(97u32);
pub const BoxDerefTransmute: Symbol = Symbol::new(98u32);
pub const Break: Symbol = Symbol::new(99u32);
pub const BuildHasher: Symbol = Symbol::new(100u32);
pub const CStr: Symbol = Symbol::new(101u32);
pub const CallOnceFuture: Symbol = Symbol::new(102u32);
pub const CallRefFuture: Symbol = Symbol::new(103u32);
pub const Capture: Symbol = Symbol::new(104u32);
pub const Cell: Symbol = Symbol::new(105u32);
pub const Char: Symbol = Symbol::new(106u32);
pub const Cleanup: Symbol = Symbol::new(107u32);
pub const Client: Symbol = Symbol::new(108u32);
pub const Clone: Symbol = Symbol::new(109u32);
pub const ClosureFnPointer: Symbol = Symbol::new(110u32);
pub const CoercePointee: Symbol = Symbol::new(111u32);
pub const CoercePointeeValidated: Symbol = Symbol::new(112u32);
pub const CoerceShared: Symbol = Symbol::new(113u32);
pub const CoerceUnsized: Symbol = Symbol::new(114u32);
pub const Const: Symbol = Symbol::new(115u32);
pub const ConstParamTy: Symbol = Symbol::new(116u32);
pub const ConstParamTy_: Symbol = Symbol::new(117u32);
pub const Context: Symbol = Symbol::new(118u32);
pub const Continue: Symbol = Symbol::new(119u32);
pub const ControlFlow: Symbol = Symbol::new(120u32);
pub const Copy: Symbol = Symbol::new(121u32);
pub const Cow: Symbol = Symbol::new(122u32);
pub const Debug: Symbol = Symbol::new(123u32);
pub const Default: Symbol = Symbol::new(124u32);
pub const Deref: Symbol = Symbol::new(125u32);
pub const DispatchFromDyn: Symbol = Symbol::new(126u32);
pub const Display: Symbol = Symbol::new(127u32);
pub const DropGuard: Symbol = Symbol::new(128u32);
pub const Dual: Symbol = Symbol::new(129u32);
pub const DualOnly: Symbol = Symbol::new(130u32);
pub const Dualv: Symbol = Symbol::new(131u32);
pub const DualvOnly: Symbol = Symbol::new(132u32);
pub const Duplicated: Symbol = Symbol::new(133u32);
pub const DuplicatedOnly: Symbol = Symbol::new(134u32);
pub const DynTrait: Symbol = Symbol::new(135u32);
pub const Enum: Symbol = Symbol::new(136u32);
pub const Eq: Symbol = Symbol::new(137u32);
pub const Equal: Symbol = Symbol::new(138u32);
pub const Err: Symbol = Symbol::new(139u32);
pub const ExitCode: Symbol = Symbol::new(140u32);
pub const ExternC: Symbol = Symbol::new(141u32);
pub const ExternRust: Symbol = Symbol::new(142u32);
pub const Float: Symbol = Symbol::new(143u32);
pub const FloatToFloat: Symbol = Symbol::new(144u32);
pub const FloatToInt: Symbol = Symbol::new(145u32);
pub const FmtArgumentsNew: Symbol = Symbol::new(146u32);
pub const Fn: Symbol = Symbol::new(147u32);
pub const FnMut: Symbol = Symbol::new(148u32);
pub const FnOnce: Symbol = Symbol::new(149u32);
pub const FnPtr: Symbol = Symbol::new(150u32);
pub const FnPtrToPtr: Symbol = Symbol::new(151u32);
pub const Formatter: Symbol = Symbol::new(152u32);
pub const Forward: Symbol = Symbol::new(153u32);
pub const From: Symbol = Symbol::new(154u32);
pub const FromIterator: Symbol = Symbol::new(155u32);
pub const FromResidual: Symbol = Symbol::new(156u32);
pub const GenericTypeVisitable: Symbol = Symbol::new(157u32);
pub const GlobalAlloc: Symbol = Symbol::new(158u32);
pub const Hash: Symbol = Symbol::new(159u32);
pub const HashMap: Symbol = Symbol::new(160u32);
pub const HashSet: Symbol = Symbol::new(161u32);
pub const Hasher: Symbol = Symbol::new(162u32);
pub const InCleanup: Symbol = Symbol::new(163u32);
pub const IndexOutput: Symbol = Symbol::new(164u32);
pub const Input: Symbol = Symbol::new(165u32);
pub const Int: Symbol = Symbol::new(166u32);
pub const IntToFloat: Symbol = Symbol::new(167u32);
pub const IntToInt: Symbol = Symbol::new(168u32);
pub const Into: Symbol = Symbol::new(169u32);
pub const IntoAsyncIterator: Symbol = Symbol::new(170u32);
pub const IntoFuture: Symbol = Symbol::new(171u32);
pub const IntoIterator: Symbol = Symbol::new(172u32);
pub const IntoIteratorItem: Symbol = Symbol::new(173u32);
pub const IoBufReader: Symbol = Symbol::new(174u32);
pub const IrTyKind: Symbol = Symbol::new(175u32);
pub const Item: Symbol = Symbol::new(176u32);
pub const Iterator: Symbol = Symbol::new(177u32);
pub const IteratorItem: Symbol = Symbol::new(178u32);
pub const IteratorMap: Symbol = Symbol::new(179u32);
pub const Layout: Symbol = Symbol::new(180u32);
pub const Lifetime: Symbol = Symbol::new(181u32);
pub const LintPass: Symbol = Symbol::new(182u32);
pub const LocalKey: Symbol = Symbol::new(183u32);
pub const MutToConstPointer: Symbol = Symbol::new(184u32);
pub const Mutex: Symbol = Symbol::new(185u32);
pub const MutexGuard: Symbol = Symbol::new(186u32);
pub const Named: Symbol = Symbol::new(187u32);
pub const NonZero: Symbol = Symbol::new(188u32);
pub const None: Symbol = Symbol::new(189u32);
pub const Normal: Symbol = Symbol::new(190u32);
pub const Ok: Symbol = Symbol::new(191u32);
pub const Option: Symbol = Symbol::new(192u32);
pub const Ord: Symbol = Symbol::new(193u32);
pub const Ordering: Symbol = Symbol::new(194u32);
pub const Other: Symbol = Symbol::new(195u32);
pub const Output: Symbol = Symbol::new(196u32);
pub const ParamSet: Symbol = Symbol::new(197u32);
pub const PartialEq: Symbol = Symbol::new(198u32);
pub const PartialOrd: Symbol = Symbol::new(199u32);
pub const Pending: Symbol = Symbol::new(200u32);
pub const PinDerefMutHelper: Symbol = Symbol::new(201u32);
pub const PinMacroHelper: Symbol = Symbol::new(202u32);
pub const Pointer: Symbol = Symbol::new(203u32);
pub const PointerCoercion: Symbol = Symbol::new(204u32);
pub const PointerExposeProvenance: Symbol = Symbol::new(205u32);
pub const PointerWithExposedProvenance: Symbol = Symbol::new(206u32);
pub const Poll: Symbol = Symbol::new(207u32);
pub const PtrToPtr: Symbol = Symbol::new(208u32);
pub const Range: Symbol = Symbol::new(209u32);
pub const RangeCopy: Symbol = Symbol::new(210u32);
pub const RangeFrom: Symbol = Symbol::new(211u32);
pub const RangeFromCopy: Symbol = Symbol::new(212u32);
pub const RangeFull: Symbol = Symbol::new(213u32);
pub const RangeInclusive: Symbol = Symbol::new(214u32);
pub const RangeInclusiveCopy: Symbol = Symbol::new(215u32);
pub const RangeMax: Symbol = Symbol::new(216u32);
pub const RangeMin: Symbol = Symbol::new(217u32);
pub const RangeSub: Symbol = Symbol::new(218u32);
pub const RangeTo: Symbol = Symbol::new(219u32);
pub const RangeToInclusive: Symbol = Symbol::new(220u32);
pub const RangeToInclusiveCopy: Symbol = Symbol::new(221u32);
pub const Rc: Symbol = Symbol::new(222u32);
pub const RcWeak: Symbol = Symbol::new(223u32);
pub const Ready: Symbol = Symbol::new(224u32);
pub const Reborrow: Symbol = Symbol::new(225u32);
pub const RefCell: Symbol = Symbol::new(226u32);
pub const Reference: Symbol = Symbol::new(227u32);
pub const ReifyFnPointer: Symbol = Symbol::new(228u32);
pub const Relaxed: Symbol = Symbol::new(229u32);
pub const Release: Symbol = Symbol::new(230u32);
pub const Result: Symbol = Symbol::new(231u32);
pub const ResumeTy: Symbol = Symbol::new(232u32);
pub const Reverse: Symbol = Symbol::new(233u32);
pub const Rust: Symbol = Symbol::new(234u32);
pub const RustEmbed: Symbol = Symbol::new(235u32);
pub const RustaceansAreAwesome: Symbol = Symbol::new(236u32);
pub const RwLock: Symbol = Symbol::new(237u32);
pub const RwLockReadGuard: Symbol = Symbol::new(238u32);
pub const RwLockWriteGuard: Symbol = Symbol::new(239u32);
pub const Safe: Symbol = Symbol::new(240u32);
pub const Safety: Symbol = Symbol::new(241u32);
pub const SelfTy: Symbol = Symbol::new(242u32);
pub const Send: Symbol = Symbol::new(243u32);
pub const SeqCst: Symbol = Symbol::new(244u32);
pub const ShouldPanic: Symbol = Symbol::new(245u32);
pub const Sized: Symbol = Symbol::new(246u32);
pub const Slice: Symbol = Symbol::new(247u32);
pub const SliceIndex: Symbol = Symbol::new(248u32);
pub const Some: Symbol = Symbol::new(249u32);
pub const Source: Symbol = Symbol::new(250u32);
pub const StdinLock: Symbol = Symbol::new(251u32);
pub const Str: Symbol = Symbol::new(252u32);
pub const String: Symbol = Symbol::new(253u32);
pub const Struct: Symbol = Symbol::new(254u32);
pub const StructuralPartialEq: Symbol = Symbol::new(255u32);
pub const Subtype: Symbol = Symbol::new(256u32);
pub const SymbolIntern: Symbol = Symbol::new(257u32);
pub const Sync: Symbol = Symbol::new(258u32);
pub const SyncUnsafeCell: Symbol = Symbol::new(259u32);
pub const Target: Symbol = Symbol::new(260u32);
pub const TestType: Symbol = Symbol::new(261u32);
pub const This: Symbol = Symbol::new(262u32);
pub const TokenStream: Symbol = Symbol::new(263u32);
pub const Transmute: Symbol = Symbol::new(264u32);
pub const TrivialClone: Symbol = Symbol::new(265u32);
pub const Try: Symbol = Symbol::new(266u32);
pub const TryCaptureGeneric: Symbol = Symbol::new(267u32);
pub const TryCapturePrintable: Symbol = Symbol::new(268u32);
pub const TryFrom: Symbol = Symbol::new(269u32);
pub const TryInto: Symbol = Symbol::new(270u32);
pub const Tuple: Symbol = Symbol::new(271u32);
pub const Ty: Symbol = Symbol::new(272u32);
pub const TyCtxt: Symbol = Symbol::new(273u32);
pub const TyKind: Symbol = Symbol::new(274u32);
pub const Type: Symbol = Symbol::new(275u32);
pub const TypeVisitable: Symbol = Symbol::new(276u32);
pub const Union: Symbol = Symbol::new(277u32);
pub const Unsafe: Symbol = Symbol::new(278u32);
pub const UnsafeFnPointer: Symbol = Symbol::new(279u32);
pub const Unsize: Symbol = Symbol::new(280u32);
pub const UnsizePointee: Symbol = Symbol::new(281u32);
pub const Vec: Symbol = Symbol::new(282u32);
pub const Wrapper: Symbol = Symbol::new(283u32);
pub const _DECLS: Symbol = Symbol::new(284u32);
pub const __H: Symbol = Symbol::new(285u32);
pub const __S: Symbol = Symbol::new(286u32);
pub const __awaitee: Symbol = Symbol::new(287u32);
pub const __ensures_checker: Symbol = Symbol::new(288u32);
pub const __ret: Symbol = Symbol::new(289u32);
pub const __try_var: Symbol = Symbol::new(290u32);
pub const _t: Symbol = Symbol::new(291u32);
pub const _task_context: Symbol = Symbol::new(292u32);
pub const a32: Symbol = Symbol::new(293u32);
pub const aarch64: Symbol = Symbol::new(294u32);
pub const aarch64_target_feature: Symbol = Symbol::new(295u32);
pub const aarch64_unstable_target_feature: Symbol = Symbol::new(296u32);
pub const aarch64_ver_target_feature: Symbol = Symbol::new(297u32);
pub const abi: Symbol = Symbol::new(298u32);
pub const abi_amdgpu_kernel: Symbol = Symbol::new(299u32);
pub const abi_avr_interrupt: Symbol = Symbol::new(300u32);
pub const abi_c_cmse_nonsecure_call: Symbol = Symbol::new(301u32);
pub const abi_cmse_nonsecure_call: Symbol = Symbol::new(302u32);
pub const abi_custom: Symbol = Symbol::new(303u32);
pub const abi_efiapi: Symbol = Symbol::new(304u32);
pub const abi_gpu_kernel: Symbol = Symbol::new(305u32);
pub const abi_msp430_interrupt: Symbol = Symbol::new(306u32);
pub const abi_ptx: Symbol = Symbol::new(307u32);
pub const abi_riscv_interrupt: Symbol = Symbol::new(308u32);
pub const abi_swift: Symbol = Symbol::new(309u32);
pub const abi_sysv64: Symbol = Symbol::new(310u32);
pub const abi_thiscall: Symbol = Symbol::new(311u32);
pub const abi_unadjusted: Symbol = Symbol::new(312u32);
pub const abi_vectorcall: Symbol = Symbol::new(313u32);
pub const abi_x86_interrupt: Symbol = Symbol::new(314u32);
pub const abort: Symbol = Symbol::new(315u32);
pub const abort_immediate: Symbol = Symbol::new(316u32);
pub const add: Symbol = Symbol::new(317u32);
pub const add_assign: Symbol = Symbol::new(318u32);
pub const add_with_overflow: Symbol = Symbol::new(319u32);
pub const address: Symbol = Symbol::new(320u32);
pub const adt_const_params: Symbol = Symbol::new(321u32);
pub const advanced_slice_patterns: Symbol = Symbol::new(322u32);
pub const adx_target_feature: Symbol = Symbol::new(323u32);
pub const aes: Symbol = Symbol::new(324u32);
pub const aggregate_raw_ptr: Symbol = Symbol::new(325u32);
pub const alias: Symbol = Symbol::new(326u32);
pub const align: Symbol = Symbol::new(327u32);
pub const align_of: Symbol = Symbol::new(328u32);
pub const align_of_val: Symbol = Symbol::new(329u32);
pub const alignment: Symbol = Symbol::new(330u32);
pub const all: Symbol = Symbol::new(331u32);
pub const alloc: Symbol = Symbol::new(332u32);
pub const alloc_error_handler: Symbol = Symbol::new(333u32);
pub const alloc_layout: Symbol = Symbol::new(334u32);
pub const alloc_zeroed: Symbol = Symbol::new(335u32);
pub const allocator: Symbol = Symbol::new(336u32);
pub const allocator_internals: Symbol = Symbol::new(337u32);
pub const allow: Symbol = Symbol::new(338u32);
pub const allow_fail: Symbol = Symbol::new(339u32);
pub const allow_internal_unsafe: Symbol = Symbol::new(340u32);
pub const allow_internal_unstable: Symbol = Symbol::new(341u32);
pub const altivec: Symbol = Symbol::new(342u32);
pub const alu32: Symbol = Symbol::new(343u32);
pub const always: Symbol = Symbol::new(344u32);
pub const ambiguity: Symbol = Symbol::new(345u32);
pub const amdgpu: Symbol = Symbol::new(346u32);
pub const amdgpu_dispatch_ptr: Symbol = Symbol::new(347u32);
pub const analysis: Symbol = Symbol::new(348u32);
pub const and: Symbol = Symbol::new(349u32);
pub const and_then: Symbol = Symbol::new(350u32);
pub const anon: Symbol = Symbol::new(351u32);
pub const anon_assoc: Symbol = Symbol::new(352u32);
pub const anonymous_lifetime_in_impl_trait: Symbol = Symbol::new(353u32);
pub const any: Symbol = Symbol::new(354u32);
pub const apx_target_feature: Symbol = Symbol::new(355u32);
pub const arbitrary_enum_discriminant: Symbol = Symbol::new(356u32);
pub const arbitrary_self_types: Symbol = Symbol::new(357u32);
pub const arbitrary_self_types_pointers: Symbol = Symbol::new(358u32);
pub const areg: Symbol = Symbol::new(359u32);
pub const args: Symbol = Symbol::new(360u32);
pub const arith_offset: Symbol = Symbol::new(361u32);
pub const arm: Symbol = Symbol::new(362u32);
pub const arm64ec: Symbol = Symbol::new(363u32);
pub const arm_a32: Symbol = Symbol::new(364u32);
pub const arm_t32: Symbol = Symbol::new(365u32);
pub const arm_target_feature: Symbol = Symbol::new(366u32);
pub const array: Symbol = Symbol::new(367u32);
pub const as_dash_needed: Symbol = Symbol::new(368u32);
pub const as_ptr: Symbol = Symbol::new(369u32);
pub const as_ref: Symbol = Symbol::new(370u32);
pub const asm: Symbol = Symbol::new(371u32);
pub const asm_cfg: Symbol = Symbol::new(372u32);
pub const asm_const: Symbol = Symbol::new(373u32);
pub const asm_const_ptr: Symbol = Symbol::new(374u32);
pub const asm_experimental_arch: Symbol = Symbol::new(375u32);
pub const asm_experimental_reg: Symbol = Symbol::new(376u32);
pub const asm_goto: Symbol = Symbol::new(377u32);
pub const asm_goto_with_outputs: Symbol = Symbol::new(378u32);
pub const asm_sym: Symbol = Symbol::new(379u32);
pub const asm_unwind: Symbol = Symbol::new(380u32);
pub const assert: Symbol = Symbol::new(381u32);
pub const assert_eq: Symbol = Symbol::new(382u32);
pub const assert_eq_macro: Symbol = Symbol::new(383u32);
pub const assert_fields_are_eq: Symbol = Symbol::new(384u32);
pub const assert_inhabited: Symbol = Symbol::new(385u32);
pub const assert_macro: Symbol = Symbol::new(386u32);
pub const assert_mem_uninitialized_valid: Symbol = Symbol::new(387u32);
pub const assert_ne_macro: Symbol = Symbol::new(388u32);
pub const assert_receiver_is_total_eq: Symbol = Symbol::new(389u32);
pub const assert_zero_valid: Symbol = Symbol::new(390u32);
pub const asserting: Symbol = Symbol::new(391u32);
pub const associated_const_equality: Symbol = Symbol::new(392u32);
pub const associated_consts: Symbol = Symbol::new(393u32);
pub const associated_type_bounds: Symbol = Symbol::new(394u32);
pub const associated_type_defaults: Symbol = Symbol::new(395u32);
pub const associated_types: Symbol = Symbol::new(396u32);
pub const assume: Symbol = Symbol::new(397u32);
pub const assume_init: Symbol = Symbol::new(398u32);
pub const asterisk: Symbol = Symbol::new(399u32);
pub const async_await: Symbol = Symbol::new(400u32);
pub const async_call: Symbol = Symbol::new(401u32);
pub const async_call_mut: Symbol = Symbol::new(402u32);
pub const async_call_once: Symbol = Symbol::new(403u32);
pub const async_closure: Symbol = Symbol::new(404u32);
pub const async_drop: Symbol = Symbol::new(405u32);
pub const async_drop_in_place: Symbol = Symbol::new(406u32);
pub const async_fn: Symbol = Symbol::new(407u32);
pub const async_fn_in_dyn_trait: Symbol = Symbol::new(408u32);
pub const async_fn_in_trait: Symbol = Symbol::new(409u32);
pub const async_fn_kind_helper: Symbol = Symbol::new(410u32);
pub const async_fn_kind_upvars: Symbol = Symbol::new(411u32);
pub const async_fn_mut: Symbol = Symbol::new(412u32);
pub const async_fn_once: Symbol = Symbol::new(413u32);
pub const async_fn_once_output: Symbol = Symbol::new(414u32);
pub const async_fn_track_caller: Symbol = Symbol::new(415u32);
pub const async_fn_traits: Symbol = Symbol::new(416u32);
pub const async_for_loop: Symbol = Symbol::new(417u32);
pub const async_gen_internals: Symbol = Symbol::new(418u32);
pub const async_iterator: Symbol = Symbol::new(419u32);
pub const async_iterator_poll_next: Symbol = Symbol::new(420u32);
pub const async_trait_bounds: Symbol = Symbol::new(421u32);
pub const atomic: Symbol = Symbol::new(422u32);
pub const atomic_and: Symbol = Symbol::new(423u32);
pub const atomic_cxchg: Symbol = Symbol::new(424u32);
pub const atomic_cxchgweak: Symbol = Symbol::new(425u32);
pub const atomic_fence: Symbol = Symbol::new(426u32);
pub const atomic_load: Symbol = Symbol::new(427u32);
pub const atomic_max: Symbol = Symbol::new(428u32);
pub const atomic_min: Symbol = Symbol::new(429u32);
pub const atomic_nand: Symbol = Symbol::new(430u32);
pub const atomic_or: Symbol = Symbol::new(431u32);
pub const atomic_singlethreadfence: Symbol = Symbol::new(432u32);
pub const atomic_store: Symbol = Symbol::new(433u32);
pub const atomic_umax: Symbol = Symbol::new(434u32);
pub const atomic_umin: Symbol = Symbol::new(435u32);
pub const atomic_xadd: Symbol = Symbol::new(436u32);
pub const atomic_xchg: Symbol = Symbol::new(437u32);
pub const atomic_xor: Symbol = Symbol::new(438u32);
pub const atomic_xsub: Symbol = Symbol::new(439u32);
pub const atomics: Symbol = Symbol::new(440u32);
pub const att_syntax: Symbol = Symbol::new(441u32);
pub const attr: Symbol = Symbol::new(442u32);
pub const attr_literals: Symbol = Symbol::new(443u32);
pub const attribute: Symbol = Symbol::new(444u32);
pub const attributes: Symbol = Symbol::new(445u32);
pub const audit_that: Symbol = Symbol::new(446u32);
pub const augmented_assignments: Symbol = Symbol::new(447u32);
pub const auto_cfg: Symbol = Symbol::new(448u32);
pub const auto_traits: Symbol = Symbol::new(449u32);
pub const autodiff: Symbol = Symbol::new(450u32);
pub const autodiff_forward: Symbol = Symbol::new(451u32);
pub const autodiff_reverse: Symbol = Symbol::new(452u32);
pub const automatically_derived: Symbol = Symbol::new(453u32);
pub const available_externally: Symbol = Symbol::new(454u32);
pub const avr: Symbol = Symbol::new(455u32);
pub const avr_target_feature: Symbol = Symbol::new(456u32);
pub const avx: Symbol = Symbol::new(457u32);
pub const avx10_target_feature: Symbol = Symbol::new(458u32);
pub const avx512_target_feature: Symbol = Symbol::new(459u32);
pub const avx512bw: Symbol = Symbol::new(460u32);
pub const avx512f: Symbol = Symbol::new(461u32);
pub const await_macro: Symbol = Symbol::new(462u32);
pub const backchain: Symbol = Symbol::new(463u32);
pub const backend_repr: Symbol = Symbol::new(464u32);
pub const begin_panic: Symbol = Symbol::new(465u32);
pub const bench: Symbol = Symbol::new(466u32);
pub const bevy_ecs: Symbol = Symbol::new(467u32);
pub const bikeshed: Symbol = Symbol::new(468u32);
pub const bikeshed_guaranteed_no_drop: Symbol = Symbol::new(469u32);
pub const bin: Symbol = Symbol::new(470u32);
pub const bind_by_move_pattern_guards: Symbol = Symbol::new(471u32);
pub const bindings_after_at: Symbol = Symbol::new(472u32);
pub const bitand: Symbol = Symbol::new(473u32);
pub const bitand_assign: Symbol = Symbol::new(474u32);
pub const bitor: Symbol = Symbol::new(475u32);
pub const bitor_assign: Symbol = Symbol::new(476u32);
pub const bitreverse: Symbol = Symbol::new(477u32);
pub const bits: Symbol = Symbol::new(478u32);
pub const bitxor: Symbol = Symbol::new(479u32);
pub const bitxor_assign: Symbol = Symbol::new(480u32);
pub const bivariant: Symbol = Symbol::new(481u32);
pub const black_box: Symbol = Symbol::new(482u32);
pub const block: Symbol = Symbol::new(483u32);
pub const blocking: Symbol = Symbol::new(484u32);
pub const bool: Symbol = Symbol::new(485u32);
pub const borrowck_graphviz_format: Symbol = Symbol::new(486u32);
pub const borrowck_graphviz_postflow: Symbol = Symbol::new(487u32);
pub const box_new: Symbol = Symbol::new(488u32);
pub const box_patterns: Symbol = Symbol::new(489u32);
pub const box_syntax: Symbol = Symbol::new(490u32);
pub const boxed_slice: Symbol = Symbol::new(491u32);
pub const bpf: Symbol = Symbol::new(492u32);
pub const bpf_target_feature: Symbol = Symbol::new(493u32);
pub const braced_empty_structs: Symbol = Symbol::new(494u32);
pub const branch: Symbol = Symbol::new(495u32);
pub const breakpoint: Symbol = Symbol::new(496u32);
pub const breg: Symbol = Symbol::new(497u32);
pub const bridge: Symbol = Symbol::new(498u32);
pub const bswap: Symbol = Symbol::new(499u32);
pub const built: Symbol = Symbol::new(500u32);
pub const bundle: Symbol = Symbol::new(501u32);
pub const c_dash_variadic: Symbol = Symbol::new(502u32);
pub const c_str_literals: Symbol = Symbol::new(503u32);
pub const c_unwind: Symbol = Symbol::new(504u32);
pub const c_variadic: Symbol = Symbol::new(505u32);
pub const c_variadic_experimental_arch: Symbol = Symbol::new(506u32);
pub const c_variadic_naked_functions: Symbol = Symbol::new(507u32);
pub const c_void: Symbol = Symbol::new(508u32);
pub const call: Symbol = Symbol::new(509u32);
pub const call_mut: Symbol = Symbol::new(510u32);
pub const call_once: Symbol = Symbol::new(511u32);
pub const call_once_future: Symbol = Symbol::new(512u32);
pub const call_ref_future: Symbol = Symbol::new(513u32);
pub const caller: Symbol = Symbol::new(514u32);
pub const caller_location: Symbol = Symbol::new(515u32);
pub const capture_disjoint_fields: Symbol = Symbol::new(516u32);
pub const carrying_mul_add: Symbol = Symbol::new(517u32);
pub const carryless_mul: Symbol = Symbol::new(518u32);
pub const catch_unwind: Symbol = Symbol::new(519u32);
pub const cause: Symbol = Symbol::new(520u32);
pub const cdylib: Symbol = Symbol::new(521u32);
pub const ceil: Symbol = Symbol::new(522u32);
pub const cfg: Symbol = Symbol::new(523u32);
pub const cfg_accessible: Symbol = Symbol::new(524u32);
pub const cfg_attr: Symbol = Symbol::new(525u32);
pub const cfg_attr_multi: Symbol = Symbol::new(526u32);
pub const cfg_boolean_literals: Symbol = Symbol::new(527u32);
pub const cfg_contract_checks: Symbol = Symbol::new(528u32);
pub const cfg_doctest: Symbol = Symbol::new(529u32);
pub const cfg_eval: Symbol = Symbol::new(530u32);
pub const cfg_overflow_checks: Symbol = Symbol::new(531u32);
pub const cfg_panic: Symbol = Symbol::new(532u32);
pub const cfg_relocation_model: Symbol = Symbol::new(533u32);
pub const cfg_sanitize: Symbol = Symbol::new(534u32);
pub const cfg_sanitizer_cfi: Symbol = Symbol::new(535u32);
pub const cfg_select: Symbol = Symbol::new(536u32);
pub const cfg_target_abi: Symbol = Symbol::new(537u32);
pub const cfg_target_compact: Symbol = Symbol::new(538u32);
pub const cfg_target_feature: Symbol = Symbol::new(539u32);
pub const cfg_target_has_atomic: Symbol = Symbol::new(540u32);
pub const cfg_target_has_atomic_equal_alignment: Symbol =
Symbol::new(541u32);
pub const cfg_target_has_reliable_f16_f128: Symbol = Symbol::new(542u32);
pub const cfg_target_has_reliable_f16b: Symbol = Symbol::new(543u32);
pub const cfg_target_has_threads: Symbol = Symbol::new(544u32);
pub const cfg_target_object_format: Symbol = Symbol::new(545u32);
pub const cfg_target_thread_local: Symbol = Symbol::new(546u32);
pub const cfg_target_vendor: Symbol = Symbol::new(547u32);
pub const cfg_ub_checks: Symbol = Symbol::new(548u32);
pub const cfg_version: Symbol = Symbol::new(549u32);
pub const cfi: Symbol = Symbol::new(550u32);
pub const cfi_encoding: Symbol = Symbol::new(551u32);
pub const char: Symbol = Symbol::new(552u32);
pub const checked_type_aliases: Symbol = Symbol::new(553u32);
pub const clflushopt_target_feature: Symbol = Symbol::new(554u32);
pub const client: Symbol = Symbol::new(555u32);
pub const clippy: Symbol = Symbol::new(556u32);
pub const clobber_abi: Symbol = Symbol::new(557u32);
pub const clone: Symbol = Symbol::new(558u32);
pub const clone_closures: Symbol = Symbol::new(559u32);
pub const clone_fn: Symbol = Symbol::new(560u32);
pub const clone_from: Symbol = Symbol::new(561u32);
pub const clone_from_fn: Symbol = Symbol::new(562u32);
pub const close_fn: Symbol = Symbol::new(563u32);
pub const closure: Symbol = Symbol::new(564u32);
pub const closure_lifetime_binder: Symbol = Symbol::new(565u32);
pub const closure_to_fn_coercion: Symbol = Symbol::new(566u32);
pub const closure_track_caller: Symbol = Symbol::new(567u32);
pub const cmp: Symbol = Symbol::new(568u32);
pub const cmp_ord_max: Symbol = Symbol::new(569u32);
pub const cmp_ord_min: Symbol = Symbol::new(570u32);
pub const cmp_partialeq_eq: Symbol = Symbol::new(571u32);
pub const cmp_partialeq_ne: Symbol = Symbol::new(572u32);
pub const cmp_partialord_cmp: Symbol = Symbol::new(573u32);
pub const cmp_partialord_ge: Symbol = Symbol::new(574u32);
pub const cmp_partialord_gt: Symbol = Symbol::new(575u32);
pub const cmp_partialord_le: Symbol = Symbol::new(576u32);
pub const cmp_partialord_lt: Symbol = Symbol::new(577u32);
pub const cmpxchg16b_target_feature: Symbol = Symbol::new(578u32);
pub const cmse_nonsecure_entry: Symbol = Symbol::new(579u32);
pub const code: Symbol = Symbol::new(580u32);
pub const codeview_annotation: Symbol = Symbol::new(581u32);
pub const coerce_pointee_validated: Symbol = Symbol::new(582u32);
pub const coerce_shared: Symbol = Symbol::new(583u32);
pub const coerce_shared_target: Symbol = Symbol::new(584u32);
pub const coerce_unsized: Symbol = Symbol::new(585u32);
pub const coff: Symbol = Symbol::new(586u32);
pub const cold: Symbol = Symbol::new(587u32);
pub const cold_path: Symbol = Symbol::new(588u32);
pub const collapse_debuginfo: Symbol = Symbol::new(589u32);
pub const color: Symbol = Symbol::new(590u32);
pub const column: Symbol = Symbol::new(591u32);
pub const compare_bytes: Symbol = Symbol::new(592u32);
pub const compare_exchange: Symbol = Symbol::new(593u32);
pub const compare_exchange_weak: Symbol = Symbol::new(594u32);
pub const compile_error: Symbol = Symbol::new(595u32);
pub const compiler: Symbol = Symbol::new(596u32);
pub const compiler_builtins: Symbol = Symbol::new(597u32);
pub const compiler_copy: Symbol = Symbol::new(598u32);
pub const compiler_fence: Symbol = Symbol::new(599u32);
pub const compiler_move: Symbol = Symbol::new(600u32);
pub const complex: Symbol = Symbol::new(601u32);
pub const concat: Symbol = Symbol::new(602u32);
pub const concat_bytes: Symbol = Symbol::new(603u32);
pub const concat_str: Symbol = Symbol::new(604u32);
pub const conservative_impl_trait: Symbol = Symbol::new(605u32);
pub const console: Symbol = Symbol::new(606u32);
pub const const_allocate: Symbol = Symbol::new(607u32);
pub const const_async_blocks: Symbol = Symbol::new(608u32);
pub const const_block_items: Symbol = Symbol::new(609u32);
pub const const_c_variadic: Symbol = Symbol::new(610u32);
pub const const_closures: Symbol = Symbol::new(611u32);
pub const const_compare_raw_pointers: Symbol = Symbol::new(612u32);
pub const const_constructor: Symbol = Symbol::new(613u32);
pub const const_continue: Symbol = Symbol::new(614u32);
pub const const_deallocate: Symbol = Symbol::new(615u32);
pub const const_destruct: Symbol = Symbol::new(616u32);
pub const const_eval_limit: Symbol = Symbol::new(617u32);
pub const const_eval_select: Symbol = Symbol::new(618u32);
pub const const_evaluatable_checked: Symbol = Symbol::new(619u32);
pub const const_extern_fn: Symbol = Symbol::new(620u32);
pub const const_fn: Symbol = Symbol::new(621u32);
pub const const_fn_floating_point_arithmetic: Symbol =
Symbol::new(622u32);
pub const const_fn_fn_ptr_basics: Symbol = Symbol::new(623u32);
pub const const_fn_trait_bound: Symbol = Symbol::new(624u32);
pub const const_fn_transmute: Symbol = Symbol::new(625u32);
pub const const_fn_union: Symbol = Symbol::new(626u32);
pub const const_fn_unsize: Symbol = Symbol::new(627u32);
pub const const_for: Symbol = Symbol::new(628u32);
pub const const_format_args: Symbol = Symbol::new(629u32);
pub const const_generics: Symbol = Symbol::new(630u32);
pub const const_generics_defaults: Symbol = Symbol::new(631u32);
pub const const_if_match: Symbol = Symbol::new(632u32);
pub const const_impl_trait: Symbol = Symbol::new(633u32);
pub const const_in_array_repeat_expressions: Symbol = Symbol::new(634u32);
pub const const_indexing: Symbol = Symbol::new(635u32);
pub const const_let: Symbol = Symbol::new(636u32);
pub const const_loop: Symbol = Symbol::new(637u32);
pub const const_make_global: Symbol = Symbol::new(638u32);
pub const const_mut_refs: Symbol = Symbol::new(639u32);
pub const const_panic: Symbol = Symbol::new(640u32);
pub const const_panic_fmt: Symbol = Symbol::new(641u32);
pub const const_param_ty: Symbol = Symbol::new(642u32);
pub const const_param_ty_unchecked: Symbol = Symbol::new(643u32);
pub const const_precise_live_drops: Symbol = Symbol::new(644u32);
pub const const_ptr_cast: Symbol = Symbol::new(645u32);
pub const const_raw_ptr_deref: Symbol = Symbol::new(646u32);
pub const const_raw_ptr_to_usize_cast: Symbol = Symbol::new(647u32);
pub const const_refs_to_cell: Symbol = Symbol::new(648u32);
pub const const_refs_to_static: Symbol = Symbol::new(649u32);
pub const const_trait_bound_opt_out: Symbol = Symbol::new(650u32);
pub const const_trait_impl: Symbol = Symbol::new(651u32);
pub const const_try: Symbol = Symbol::new(652u32);
pub const const_ty_placeholder: Symbol = Symbol::new(653u32);
pub const constant: Symbol = Symbol::new(654u32);
pub const constructor: Symbol = Symbol::new(655u32);
pub const contract_build_check_ensures: Symbol = Symbol::new(656u32);
pub const contract_check_ensures: Symbol = Symbol::new(657u32);
pub const contract_check_requires: Symbol = Symbol::new(658u32);
pub const contract_checks: Symbol = Symbol::new(659u32);
pub const contracts: Symbol = Symbol::new(660u32);
pub const contracts_ensures: Symbol = Symbol::new(661u32);
pub const contracts_internals: Symbol = Symbol::new(662u32);
pub const contracts_requires: Symbol = Symbol::new(663u32);
pub const contravariant: Symbol = Symbol::new(664u32);
pub const convert: Symbol = Symbol::new(665u32);
pub const coprocessor: Symbol = Symbol::new(666u32);
pub const copy: Symbol = Symbol::new(667u32);
pub const copy_closures: Symbol = Symbol::new(668u32);
pub const copy_nonoverlapping: Symbol = Symbol::new(669u32);
pub const copysignf16: Symbol = Symbol::new(670u32);
pub const copysignf32: Symbol = Symbol::new(671u32);
pub const copysignf64: Symbol = Symbol::new(672u32);
pub const copysignf128: Symbol = Symbol::new(673u32);
pub const core: Symbol = Symbol::new(674u32);
pub const core_panic: Symbol = Symbol::new(675u32);
pub const core_panic_2015_macro: Symbol = Symbol::new(676u32);
pub const core_panic_macro: Symbol = Symbol::new(677u32);
pub const coroutine: Symbol = Symbol::new(678u32);
pub const coroutine_clone: Symbol = Symbol::new(679u32);
pub const coroutine_resume: Symbol = Symbol::new(680u32);
pub const coroutine_return: Symbol = Symbol::new(681u32);
pub const coroutine_state: Symbol = Symbol::new(682u32);
pub const coroutine_yield: Symbol = Symbol::new(683u32);
pub const coroutines: Symbol = Symbol::new(684u32);
pub const cos: Symbol = Symbol::new(685u32);
pub const count: Symbol = Symbol::new(686u32);
pub const covariant: Symbol = Symbol::new(687u32);
pub const covariant_unsafe_cell: Symbol = Symbol::new(688u32);
pub const coverage: Symbol = Symbol::new(689u32);
pub const coverage_attribute: Symbol = Symbol::new(690u32);
pub const cr: Symbol = Symbol::new(691u32);
pub const crate_in_paths: Symbol = Symbol::new(692u32);
pub const crate_local: Symbol = Symbol::new(693u32);
pub const crate_name: Symbol = Symbol::new(694u32);
pub const crate_type: Symbol = Symbol::new(695u32);
pub const crate_visibility_modifier: Symbol = Symbol::new(696u32);
pub const crt_dash_static: Symbol = Symbol::new(697u32);
pub const csky: Symbol = Symbol::new(698u32);
pub const csky_target_feature: Symbol = Symbol::new(699u32);
pub const cstr_type: Symbol = Symbol::new(700u32);
pub const cstring_type: Symbol = Symbol::new(701u32);
pub const ctlz: Symbol = Symbol::new(702u32);
pub const ctlz_nonzero: Symbol = Symbol::new(703u32);
pub const ctpop: Symbol = Symbol::new(704u32);
pub const ctr: Symbol = Symbol::new(705u32);
pub const cttz: Symbol = Symbol::new(706u32);
pub const cttz_nonzero: Symbol = Symbol::new(707u32);
pub const custom_attribute: Symbol = Symbol::new(708u32);
pub const custom_code_classes_in_docs: Symbol = Symbol::new(709u32);
pub const custom_derive: Symbol = Symbol::new(710u32);
pub const custom_inner_attributes: Symbol = Symbol::new(711u32);
pub const custom_mir: Symbol = Symbol::new(712u32);
pub const custom_test_frameworks: Symbol = Symbol::new(713u32);
pub const d32: Symbol = Symbol::new(714u32);
pub const dead_code: Symbol = Symbol::new(715u32);
pub const dead_code_pub_in_binary: Symbol = Symbol::new(716u32);
pub const dealloc: Symbol = Symbol::new(717u32);
pub const debug: Symbol = Symbol::new(718u32);
pub const debug_assert_eq_macro: Symbol = Symbol::new(719u32);
pub const debug_assert_macro: Symbol = Symbol::new(720u32);
pub const debug_assert_ne_macro: Symbol = Symbol::new(721u32);
pub const debug_assertions: Symbol = Symbol::new(722u32);
pub const debug_c_like_enum_write_str: Symbol = Symbol::new(723u32);
pub const debug_struct_fields_finish: Symbol = Symbol::new(724u32);
pub const debugger_visualizer: Symbol = Symbol::new(725u32);
pub const decl_macro: Symbol = Symbol::new(726u32);
pub const declare_lint_pass: Symbol = Symbol::new(727u32);
pub const decorated: Symbol = Symbol::new(728u32);
pub const default_alloc_error_handler: Symbol = Symbol::new(729u32);
pub const default_field_values: Symbol = Symbol::new(730u32);
pub const default_fn: Symbol = Symbol::new(731u32);
pub const default_lib_allocator: Symbol = Symbol::new(732u32);
pub const default_trait1: Symbol = Symbol::new(733u32);
pub const default_trait2: Symbol = Symbol::new(734u32);
pub const default_trait3: Symbol = Symbol::new(735u32);
pub const default_trait4: Symbol = Symbol::new(736u32);
pub const default_type_parameter_fallback: Symbol = Symbol::new(737u32);
pub const default_type_params: Symbol = Symbol::new(738u32);
pub const define_opaque: Symbol = Symbol::new(739u32);
pub const deny: Symbol = Symbol::new(740u32);
pub const deprecated: Symbol = Symbol::new(741u32);
pub const deprecated_safe: Symbol = Symbol::new(742u32);
pub const deprecated_suggestion: Symbol = Symbol::new(743u32);
pub const deref_method: Symbol = Symbol::new(744u32);
pub const deref_mut: Symbol = Symbol::new(745u32);
pub const deref_patterns: Symbol = Symbol::new(746u32);
pub const deref_pure: Symbol = Symbol::new(747u32);
pub const deref_target: Symbol = Symbol::new(748u32);
pub const derive: Symbol = Symbol::new(749u32);
pub const derive_const: Symbol = Symbol::new(750u32);
pub const derive_default_enum: Symbol = Symbol::new(751u32);
pub const derive_from: Symbol = Symbol::new(752u32);
pub const derive_smart_pointer: Symbol = Symbol::new(753u32);
pub const destruct: Symbol = Symbol::new(754u32);
pub const destructuring_assignment: Symbol = Symbol::new(755u32);
pub const diagnostic: Symbol = Symbol::new(756u32);
pub const diagnostic_namespace: Symbol = Symbol::new(757u32);
pub const diagnostic_on_const: Symbol = Symbol::new(758u32);
pub const diagnostic_on_move: Symbol = Symbol::new(759u32);
pub const diagnostic_on_type_error: Symbol = Symbol::new(760u32);
pub const diagnostic_on_unknown: Symbol = Symbol::new(761u32);
pub const diagnostic_on_unmatch_args: Symbol = Symbol::new(762u32);
pub const diagnostic_on_unmatched_args: Symbol = Symbol::new(763u32);
pub const diagnostic_opaque: Symbol = Symbol::new(764u32);
pub const dialect: Symbol = Symbol::new(765u32);
pub const direct: Symbol = Symbol::new(766u32);
pub const discriminant_kind: Symbol = Symbol::new(767u32);
pub const discriminant_type: Symbol = Symbol::new(768u32);
pub const discriminant_value: Symbol = Symbol::new(769u32);
pub const disjoint_bitor: Symbol = Symbol::new(770u32);
pub const dispatch_from_dyn: Symbol = Symbol::new(771u32);
pub const div: Symbol = Symbol::new(772u32);
pub const div_assign: Symbol = Symbol::new(773u32);
pub const diverging_block_default: Symbol = Symbol::new(774u32);
pub const dl: Symbol = Symbol::new(775u32);
pub const do_not_recommend: Symbol = Symbol::new(776u32);
pub const doc: Symbol = Symbol::new(777u32);
pub const doc_alias: Symbol = Symbol::new(778u32);
pub const doc_auto_cfg: Symbol = Symbol::new(779u32);
pub const doc_cfg: Symbol = Symbol::new(780u32);
pub const doc_cfg_hide: Symbol = Symbol::new(781u32);
pub const doc_keyword: Symbol = Symbol::new(782u32);
pub const doc_masked: Symbol = Symbol::new(783u32);
pub const doc_notable_trait: Symbol = Symbol::new(784u32);
pub const doc_primitive: Symbol = Symbol::new(785u32);
pub const doc_spotlight: Symbol = Symbol::new(786u32);
pub const doctest: Symbol = Symbol::new(787u32);
pub const dotdot_in_tuple_patterns: Symbol = Symbol::new(788u32);
pub const dotdoteq_in_patterns: Symbol = Symbol::new(789u32);
pub const dreg: Symbol = Symbol::new(790u32);
pub const dreg_low8: Symbol = Symbol::new(791u32);
pub const dreg_low16: Symbol = Symbol::new(792u32);
pub const dret: Symbol = Symbol::new(793u32);
pub const drop: Symbol = Symbol::new(794u32);
pub const drop_glue: Symbol = Symbol::new(795u32);
pub const drop_in_place: Symbol = Symbol::new(796u32);
pub const drop_types_in_const: Symbol = Symbol::new(797u32);
pub const dropck_eyepatch: Symbol = Symbol::new(798u32);
pub const dropck_parametricity: Symbol = Symbol::new(799u32);
pub const dummy: Symbol = Symbol::new(800u32);
pub const dummy_cgu_name: Symbol = Symbol::new(801u32);
pub const dylib: Symbol = Symbol::new(802u32);
pub const dyn_compatible_for_dispatch: Symbol = Symbol::new(803u32);
pub const dyn_metadata: Symbol = Symbol::new(804u32);
pub const dyn_star: Symbol = Symbol::new(805u32);
pub const dyn_trait: Symbol = Symbol::new(806u32);
pub const dynamic_no_pic: Symbol = Symbol::new(807u32);
pub const edition_panic: Symbol = Symbol::new(808u32);
pub const effective_target_features: Symbol = Symbol::new(809u32);
pub const effects: Symbol = Symbol::new(810u32);
pub const eh_personality: Symbol = Symbol::new(811u32);
pub const eii: Symbol = Symbol::new(812u32);
pub const eii_declaration: Symbol = Symbol::new(813u32);
pub const eii_internals: Symbol = Symbol::new(814u32);
pub const eii_shared_macro: Symbol = Symbol::new(815u32);
pub const element_ty: Symbol = Symbol::new(816u32);
pub const elf: Symbol = Symbol::new(817u32);
pub const empty: Symbol = Symbol::new(818u32);
pub const empty_braces: Symbol = Symbol::new(819u32);
pub const empty_brackets: Symbol = Symbol::new(820u32);
pub const empty_parens: Symbol = Symbol::new(821u32);
pub const enable: Symbol = Symbol::new(822u32);
pub const end: Symbol = Symbol::new(823u32);
pub const entry_nops: Symbol = Symbol::new(824u32);
pub const env: Symbol = Symbol::new(825u32);
pub const eprint_macro: Symbol = Symbol::new(826u32);
pub const eprintln_macro: Symbol = Symbol::new(827u32);
pub const eq: Symbol = Symbol::new(828u32);
pub const ergonomic_clones: Symbol = Symbol::new(829u32);
pub const ermsb_target_feature: Symbol = Symbol::new(830u32);
pub const exact_div: Symbol = Symbol::new(831u32);
pub const except: Symbol = Symbol::new(832u32);
pub const exception: Symbol = Symbol::new(833u32);
pub const exception_handling: Symbol = Symbol::new(834u32);
pub const exclusive_range_pattern: Symbol = Symbol::new(835u32);
pub const exhaustive_integer_patterns: Symbol = Symbol::new(836u32);
pub const exhaustive_patterns: Symbol = Symbol::new(837u32);
pub const existential_type: Symbol = Symbol::new(838u32);
pub const exists: Symbol = Symbol::new(839u32);
pub const exp: Symbol = Symbol::new(840u32);
pub const exp2: Symbol = Symbol::new(841u32);
pub const expand1: Symbol = Symbol::new(842u32);
pub const expand2: Symbol = Symbol::new(843u32);
pub const expect: Symbol = Symbol::new(844u32);
pub const expected: Symbol = Symbol::new(845u32);
pub const explicit_extern_abis: Symbol = Symbol::new(846u32);
pub const explicit_generic_args_with_impl_trait: Symbol =
Symbol::new(847u32);
pub const explicit_tail_calls: Symbol = Symbol::new(848u32);
pub const export_name: Symbol = Symbol::new(849u32);
pub const export_stable: Symbol = Symbol::new(850u32);
pub const export_symbols: Symbol = Symbol::new(851u32);
pub const expr: Symbol = Symbol::new(852u32);
pub const expr_2021: Symbol = Symbol::new(853u32);
pub const expr_fragment_specifier_2024: Symbol = Symbol::new(854u32);
pub const extended_key_value_attributes: Symbol = Symbol::new(855u32);
pub const extended_varargs_abi_support: Symbol = Symbol::new(856u32);
pub const extendedl32r: Symbol = Symbol::new(857u32);
pub const extern_absolute_paths: Symbol = Symbol::new(858u32);
pub const extern_crate_item_prelude: Symbol = Symbol::new(859u32);
pub const extern_crate_self: Symbol = Symbol::new(860u32);
pub const extern_in_paths: Symbol = Symbol::new(861u32);
pub const extern_item_impls: Symbol = Symbol::new(862u32);
pub const extern_prelude: Symbol = Symbol::new(863u32);
pub const extern_system_varargs: Symbol = Symbol::new(864u32);
pub const extern_types: Symbol = Symbol::new(865u32);
pub const extern_weak: Symbol = Symbol::new(866u32);
pub const external: Symbol = Symbol::new(867u32);
pub const external_doc: Symbol = Symbol::new(868u32);
pub const f16: Symbol = Symbol::new(869u32);
pub const f16_nan: Symbol = Symbol::new(870u32);
pub const f16b: Symbol = Symbol::new(871u32);
pub const f16c_target_feature: Symbol = Symbol::new(872u32);
pub const f32: Symbol = Symbol::new(873u32);
pub const f32_nan: Symbol = Symbol::new(874u32);
pub const f64: Symbol = Symbol::new(875u32);
pub const f64_nan: Symbol = Symbol::new(876u32);
pub const f128: Symbol = Symbol::new(877u32);
pub const f128_nan: Symbol = Symbol::new(878u32);
pub const fabs: Symbol = Symbol::new(879u32);
pub const fadd_algebraic: Symbol = Symbol::new(880u32);
pub const fadd_fast: Symbol = Symbol::new(881u32);
pub const fake_variadic: Symbol = Symbol::new(882u32);
pub const fallback: Symbol = Symbol::new(883u32);
pub const fdiv_algebraic: Symbol = Symbol::new(884u32);
pub const fdiv_fast: Symbol = Symbol::new(885u32);
pub const feature: Symbol = Symbol::new(886u32);
pub const fence: Symbol = Symbol::new(887u32);
pub const ferris: Symbol = Symbol::new(888u32);
pub const fetch_update: Symbol = Symbol::new(889u32);
pub const ffi_const: Symbol = Symbol::new(890u32);
pub const ffi_pure: Symbol = Symbol::new(891u32);
pub const ffi_returns_twice: Symbol = Symbol::new(892u32);
pub const ffr: Symbol = Symbol::new(893u32);
pub const field: Symbol = Symbol::new(894u32);
pub const field_base: Symbol = Symbol::new(895u32);
pub const field_init_shorthand: Symbol = Symbol::new(896u32);
pub const field_offset: Symbol = Symbol::new(897u32);
pub const field_projections: Symbol = Symbol::new(898u32);
pub const field_representing_type: Symbol = Symbol::new(899u32);
pub const field_representing_type_actual_type_id: Symbol =
Symbol::new(900u32);
pub const field_representing_type_name: Symbol = Symbol::new(901u32);
pub const field_representing_type_offset: Symbol = Symbol::new(902u32);
pub const field_representing_type_raw: Symbol = Symbol::new(903u32);
pub const field_type: Symbol = Symbol::new(904u32);
pub const fields: Symbol = Symbol::new(905u32);
pub const file: Symbol = Symbol::new(906u32);
pub const final_associated_functions: Symbol = Symbol::new(907u32);
pub const float_mul_add_relaxed: Symbol = Symbol::new(908u32);
pub const float_to_int_unchecked: Symbol = Symbol::new(909u32);
pub const floor: Symbol = Symbol::new(910u32);
pub const fma: Symbol = Symbol::new(911u32);
pub const fma4_target_feature: Symbol = Symbol::new(912u32);
pub const fmt: Symbol = Symbol::new(913u32);
pub const fmt_debug: Symbol = Symbol::new(914u32);
pub const fmul_algebraic: Symbol = Symbol::new(915u32);
pub const fmul_fast: Symbol = Symbol::new(916u32);
pub const fmuladd: Symbol = Symbol::new(917u32);
pub const fn_align: Symbol = Symbol::new(918u32);
pub const fn_body: Symbol = Symbol::new(919u32);
pub const fn_delegation: Symbol = Symbol::new(920u32);
pub const fn_must_use: Symbol = Symbol::new(921u32);
pub const fn_mut: Symbol = Symbol::new(922u32);
pub const fn_once: Symbol = Symbol::new(923u32);
pub const fn_once_output: Symbol = Symbol::new(924u32);
pub const fn_ptr_as_ptr: Symbol = Symbol::new(925u32);
pub const fn_ptr_from_ptr: Symbol = Symbol::new(926u32);
pub const fn_ptr_trait: Symbol = Symbol::new(927u32);
pub const fn_static: Symbol = Symbol::new(928u32);
pub const forall: Symbol = Symbol::new(929u32);
pub const forbid: Symbol = Symbol::new(930u32);
pub const force_target_feature: Symbol = Symbol::new(931u32);
pub const forced_keywords: Symbol = Symbol::new(932u32);
pub const forget: Symbol = Symbol::new(933u32);
pub const forget_trait: Symbol = Symbol::new(934u32);
pub const format_args: Symbol = Symbol::new(935u32);
pub const format_args_capture: Symbol = Symbol::new(936u32);
pub const format_args_macro: Symbol = Symbol::new(937u32);
pub const format_args_nl: Symbol = Symbol::new(938u32);
pub const format_argument: Symbol = Symbol::new(939u32);
pub const format_arguments: Symbol = Symbol::new(940u32);
pub const format_macro: Symbol = Symbol::new(941u32);
pub const format_placeholder: Symbol = Symbol::new(942u32);
pub const format_unsafe_arg: Symbol = Symbol::new(943u32);
pub const found: Symbol = Symbol::new(944u32);
pub const fp: Symbol = Symbol::new(945u32);
pub const fpregs: Symbol = Symbol::new(946u32);
pub const framework: Symbol = Symbol::new(947u32);
pub const freeze: Symbol = Symbol::new(948u32);
pub const freeze_impls: Symbol = Symbol::new(949u32);
pub const freg: Symbol = Symbol::new(950u32);
pub const frem_algebraic: Symbol = Symbol::new(951u32);
pub const frem_fast: Symbol = Symbol::new(952u32);
pub const from: Symbol = Symbol::new(953u32);
pub const from_desugaring: Symbol = Symbol::new(954u32);
pub const from_iter: Symbol = Symbol::new(955u32);
pub const from_output: Symbol = Symbol::new(956u32);
pub const from_residual: Symbol = Symbol::new(957u32);
pub const from_size_align_unchecked: Symbol = Symbol::new(958u32);
pub const from_size_alignment_unchecked: Symbol = Symbol::new(959u32);
pub const from_str: Symbol = Symbol::new(960u32);
pub const from_str_nonconst: Symbol = Symbol::new(961u32);
pub const from_usize: Symbol = Symbol::new(962u32);
pub const from_yeet: Symbol = Symbol::new(963u32);
pub const frontmatter: Symbol = Symbol::new(964u32);
pub const fsub_algebraic: Symbol = Symbol::new(965u32);
pub const fsub_fast: Symbol = Symbol::new(966u32);
pub const full: Symbol = Symbol::new(967u32);
pub const function_arg_const_generics: Symbol = Symbol::new(968u32);
pub const fundamental: Symbol = Symbol::new(969u32);
pub const fused_iterator: Symbol = Symbol::new(970u32);
pub const future_output: Symbol = Symbol::new(971u32);
pub const future_trait: Symbol = Symbol::new(972u32);
pub const fxsr: Symbol = Symbol::new(973u32);
pub const gca: Symbol = Symbol::new(974u32);
pub const gca_adts: Symbol = Symbol::new(975u32);
pub const gca_const_items: Symbol = Symbol::new(976u32);
pub const gca_macroless_args: Symbol = Symbol::new(977u32);
pub const gca_macroless_items: Symbol = Symbol::new(978u32);
pub const gca_min_const_items: Symbol = Symbol::new(979u32);
pub const gdb_script_file: Symbol = Symbol::new(980u32);
pub const ge: Symbol = Symbol::new(981u32);
pub const gen_blocks: Symbol = Symbol::new(982u32);
pub const gen_future: Symbol = Symbol::new(983u32);
pub const generator_clone: Symbol = Symbol::new(984u32);
pub const generators: Symbol = Symbol::new(985u32);
pub const generic_arg_infer: Symbol = Symbol::new(986u32);
pub const generic_assert: Symbol = Symbol::new(987u32);
pub const generic_associated_types: Symbol = Symbol::new(988u32);
pub const generic_associated_types_extended: Symbol = Symbol::new(989u32);
pub const generic_const_args: Symbol = Symbol::new(990u32);
pub const generic_const_exprs: Symbol = Symbol::new(991u32);
pub const generic_const_items: Symbol = Symbol::new(992u32);
pub const generic_const_parameter_types: Symbol = Symbol::new(993u32);
pub const generic_param_attrs: Symbol = Symbol::new(994u32);
pub const generic_pattern_types: Symbol = Symbol::new(995u32);
pub const generics: Symbol = Symbol::new(996u32);
pub const get_context: Symbol = Symbol::new(997u32);
pub const global_alloc_ty: Symbol = Symbol::new(998u32);
pub const global_allocator: Symbol = Symbol::new(999u32);
pub const global_asm: Symbol = Symbol::new(1000u32);
pub const global_registration: Symbol = Symbol::new(1001u32);
pub const globs: Symbol = Symbol::new(1002u32);
pub const gpu_kernel: Symbol = Symbol::new(1003u32);
pub const gpu_launch_sized_workgroup_mem: Symbol = Symbol::new(1004u32);
pub const gt: Symbol = Symbol::new(1005u32);
pub const guard: Symbol = Symbol::new(1006u32);
pub const guard_patterns: Symbol = Symbol::new(1007u32);
pub const half_open_range_patterns: Symbol = Symbol::new(1008u32);
pub const half_open_range_patterns_in_slices: Symbol =
Symbol::new(1009u32);
pub const hash: Symbol = Symbol::new(1010u32);
pub const hexagon: Symbol = Symbol::new(1011u32);
pub const hexagon_target_feature: Symbol = Symbol::new(1012u32);
pub const hidden: Symbol = Symbol::new(1013u32);
pub const hide: Symbol = Symbol::new(1014u32);
pub const highpriinterrupts: Symbol = Symbol::new(1015u32);
pub const hint: Symbol = Symbol::new(1016u32);
pub const homogeneous_aggregate: Symbol = Symbol::new(1017u32);
pub const html_favicon_url: Symbol = Symbol::new(1018u32);
pub const html_logo_url: Symbol = Symbol::new(1019u32);
pub const html_no_source: Symbol = Symbol::new(1020u32);
pub const html_playground_url: Symbol = Symbol::new(1021u32);
pub const html_root_url: Symbol = Symbol::new(1022u32);
pub const hvx: Symbol = Symbol::new(1023u32);
pub const hvx_length64b: Symbol = Symbol::new(1024u32);
pub const hvx_length128b: Symbol = Symbol::new(1025u32);
pub const hwaddress: Symbol = Symbol::new(1026u32);
pub const i8: Symbol = Symbol::new(1027u32);
pub const i16: Symbol = Symbol::new(1028u32);
pub const i32: Symbol = Symbol::new(1029u32);
pub const i64: Symbol = Symbol::new(1030u32);
pub const i128: Symbol = Symbol::new(1031u32);
pub const i128_type: Symbol = Symbol::new(1032u32);
pub const ident: Symbol = Symbol::new(1033u32);
pub const ident_from_str_and_span: Symbol = Symbol::new(1034u32);
pub const if_let: Symbol = Symbol::new(1035u32);
pub const if_let_guard: Symbol = Symbol::new(1036u32);
pub const if_let_rescope: Symbol = Symbol::new(1037u32);
pub const if_while_or_patterns: Symbol = Symbol::new(1038u32);
pub const ignore: Symbol = Symbol::new(1039u32);
pub const immediate_abort: Symbol = Symbol::new(1040u32);
pub const impl_header_lifetime_elision: Symbol = Symbol::new(1041u32);
pub const impl_lint_pass: Symbol = Symbol::new(1042u32);
pub const impl_restriction: Symbol = Symbol::new(1043u32);
pub const impl_trait_in_assoc_type: Symbol = Symbol::new(1044u32);
pub const impl_trait_in_bindings: Symbol = Symbol::new(1045u32);
pub const impl_trait_in_fn_trait_return: Symbol = Symbol::new(1046u32);
pub const impl_trait_projections: Symbol = Symbol::new(1047u32);
pub const implied_by: Symbol = Symbol::new(1048u32);
pub const import: Symbol = Symbol::new(1049u32);
pub const import_name_type: Symbol = Symbol::new(1050u32);
pub const import_shadowing: Symbol = Symbol::new(1051u32);
pub const import_trait_associated_functions: Symbol =
Symbol::new(1052u32);
pub const imported_main: Symbol = Symbol::new(1053u32);
pub const in_band_lifetimes: Symbol = Symbol::new(1054u32);
pub const include: Symbol = Symbol::new(1055u32);
pub const include_bytes: Symbol = Symbol::new(1056u32);
pub const include_str: Symbol = Symbol::new(1057u32);
pub const inclusive_range_syntax: Symbol = Symbol::new(1058u32);
pub const incomplete_features: Symbol = Symbol::new(1059u32);
pub const index: Symbol = Symbol::new(1060u32);
pub const index_mut: Symbol = Symbol::new(1061u32);
pub const infer_outlives_requirements: Symbol = Symbol::new(1062u32);
pub const infer_static_outlives_requirements: Symbol =
Symbol::new(1063u32);
pub const inherent_associated_types: Symbol = Symbol::new(1064u32);
pub const initial: Symbol = Symbol::new(1065u32);
pub const inlateout: Symbol = Symbol::new(1066u32);
pub const inline: Symbol = Symbol::new(1067u32);
pub const inline_const: Symbol = Symbol::new(1068u32);
pub const inline_const_pat: Symbol = Symbol::new(1069u32);
pub const inout: Symbol = Symbol::new(1070u32);
pub const inputs: Symbol = Symbol::new(1071u32);
pub const instruction_set: Symbol = Symbol::new(1072u32);
pub const instrument_fn: Symbol = Symbol::new(1073u32);
pub const integer_: Symbol = Symbol::new(1074u32);
pub const integer_max: Symbol = Symbol::new(1075u32);
pub const integer_min: Symbol = Symbol::new(1076u32);
pub const integral: Symbol = Symbol::new(1077u32);
pub const internal_eq_trait_method_impls: Symbol = Symbol::new(1078u32);
pub const internal_features: Symbol = Symbol::new(1079u32);
pub const internal_syntax: Symbol = Symbol::new(1080u32);
pub const interrupt: Symbol = Symbol::new(1081u32);
pub const into_async_iter_into_iter: Symbol = Symbol::new(1082u32);
pub const into_future: Symbol = Symbol::new(1083u32);
pub const into_iter: Symbol = Symbol::new(1084u32);
pub const into_try_type: Symbol = Symbol::new(1085u32);
pub const intra_doc_pointers: Symbol = Symbol::new(1086u32);
pub const intrinsic_fallback_is_spec: Symbol = Symbol::new(1087u32);
pub const intrinsics: Symbol = Symbol::new(1088u32);
pub const invariant: Symbol = Symbol::new(1089u32);
pub const irrefutable_let_patterns: Symbol = Symbol::new(1090u32);
pub const is: Symbol = Symbol::new(1091u32);
pub const is_auto: Symbol = Symbol::new(1092u32);
pub const is_splatted: Symbol = Symbol::new(1093u32);
pub const is_unsafe: Symbol = Symbol::new(1094u32);
pub const is_val_statically_known: Symbol = Symbol::new(1095u32);
pub const isa_attribute: Symbol = Symbol::new(1096u32);
pub const isize: Symbol = Symbol::new(1097u32);
pub const issue: Symbol = Symbol::new(1098u32);
pub const issue_5723_bootstrap: Symbol = Symbol::new(1099u32);
pub const issue_tracker_base_url: Symbol = Symbol::new(1100u32);
pub const item: Symbol = Symbol::new(1101u32);
pub const item_context: Symbol = Symbol::new(1102u32);
pub const item_like_imports: Symbol = Symbol::new(1103u32);
pub const iter: Symbol = Symbol::new(1104u32);
pub const iter_mut: Symbol = Symbol::new(1105u32);
pub const iterator: Symbol = Symbol::new(1106u32);
pub const iterator_collect_fn: Symbol = Symbol::new(1107u32);
pub const kcfi: Symbol = Symbol::new(1108u32);
pub const kernel_address: Symbol = Symbol::new(1109u32);
pub const kernel_hwaddress: Symbol = Symbol::new(1110u32);
pub const keylocker_x86: Symbol = Symbol::new(1111u32);
pub const keyword: Symbol = Symbol::new(1112u32);
pub const kind: Symbol = Symbol::new(1113u32);
pub const kreg: Symbol = Symbol::new(1114u32);
pub const kreg0: Symbol = Symbol::new(1115u32);
pub const label: Symbol = Symbol::new(1116u32);
pub const label_break_value: Symbol = Symbol::new(1117u32);
pub const lahfsahf_target_feature: Symbol = Symbol::new(1118u32);
pub const lang: Symbol = Symbol::new(1119u32);
pub const lang_items: Symbol = Symbol::new(1120u32);
pub const large_assignments: Symbol = Symbol::new(1121u32);
pub const largest_niche: Symbol = Symbol::new(1122u32);
pub const last: Symbol = Symbol::new(1123u32);
pub const lasx: Symbol = Symbol::new(1124u32);
pub const late_bound_turbofishing: Symbol = Symbol::new(1125u32);
pub const lateout: Symbol = Symbol::new(1126u32);
pub const lazy_normalization_consts: Symbol = Symbol::new(1127u32);
pub const lazy_type_alias: Symbol = Symbol::new(1128u32);
pub const le: Symbol = Symbol::new(1129u32);
pub const legacy_receiver: Symbol = Symbol::new(1130u32);
pub const len: Symbol = Symbol::new(1131u32);
pub const let_chains: Symbol = Symbol::new(1132u32);
pub const let_else: Symbol = Symbol::new(1133u32);
pub const lhs: Symbol = Symbol::new(1134u32);
pub const lib: Symbol = Symbol::new(1135u32);
pub const libc: Symbol = Symbol::new(1136u32);
pub const lifetime: Symbol = Symbol::new(1137u32);
pub const lifetime_capture_rules_2024: Symbol = Symbol::new(1138u32);
pub const lifetimes: Symbol = Symbol::new(1139u32);
pub const line: Symbol = Symbol::new(1140u32);
pub const link: Symbol = Symbol::new(1141u32);
pub const link_arg_attribute: Symbol = Symbol::new(1142u32);
pub const link_args: Symbol = Symbol::new(1143u32);
pub const link_cfg: Symbol = Symbol::new(1144u32);
pub const link_dash_arg: Symbol = Symbol::new(1145u32);
pub const link_enzyme_intrinsics: Symbol = Symbol::new(1146u32);
pub const link_llvm_intrinsics: Symbol = Symbol::new(1147u32);
pub const link_name: Symbol = Symbol::new(1148u32);
pub const link_ordinal: Symbol = Symbol::new(1149u32);
pub const link_section: Symbol = Symbol::new(1150u32);
pub const linkage: Symbol = Symbol::new(1151u32);
pub const linker: Symbol = Symbol::new(1152u32);
pub const linker_info: Symbol = Symbol::new(1153u32);
pub const linker_messages: Symbol = Symbol::new(1154u32);
pub const linkonce: Symbol = Symbol::new(1155u32);
pub const linkonce_odr: Symbol = Symbol::new(1156u32);
pub const lint: Symbol = Symbol::new(1157u32);
pub const lint_reasons: Symbol = Symbol::new(1158u32);
pub const literal: Symbol = Symbol::new(1159u32);
pub const little: Symbol = Symbol::new(1160u32);
pub const big: Symbol = Symbol::new(1161u32);
pub const load: Symbol = Symbol::new(1162u32);
pub const loaded_from_disk: Symbol = Symbol::new(1163u32);
pub const local: Symbol = Symbol::new(1164u32);
pub const local_inner_macros: Symbol = Symbol::new(1165u32);
pub const log: Symbol = Symbol::new(1166u32);
pub const log2: Symbol = Symbol::new(1167u32);
pub const log10: Symbol = Symbol::new(1168u32);
pub const log_syntax: Symbol = Symbol::new(1169u32);
pub const loongarch32: Symbol = Symbol::new(1170u32);
pub const loongarch64: Symbol = Symbol::new(1171u32);
pub const loongarch_target_feature: Symbol = Symbol::new(1172u32);
pub const loop_break_value: Symbol = Symbol::new(1173u32);
pub const loop_hints: Symbol = Symbol::new(1174u32);
pub const loop_match: Symbol = Symbol::new(1175u32);
pub const lr: Symbol = Symbol::new(1176u32);
pub const lsx: Symbol = Symbol::new(1177u32);
pub const lt: Symbol = Symbol::new(1178u32);
pub const m68k: Symbol = Symbol::new(1179u32);
pub const m68k_target_feature: Symbol = Symbol::new(1180u32);
pub const mac16: Symbol = Symbol::new(1181u32);
pub const macho: Symbol = Symbol::new(1182u32);
pub const macro_at_most_once_rep: Symbol = Symbol::new(1183u32);
pub const macro_attr: Symbol = Symbol::new(1184u32);
pub const macro_attributes_in_derive_output: Symbol =
Symbol::new(1185u32);
pub const macro_derive: Symbol = Symbol::new(1186u32);
pub const macro_escape: Symbol = Symbol::new(1187u32);
pub const macro_export: Symbol = Symbol::new(1188u32);
pub const macro_guard_matcher: Symbol = Symbol::new(1189u32);
pub const macro_lifetime_matcher: Symbol = Symbol::new(1190u32);
pub const macro_literal_matcher: Symbol = Symbol::new(1191u32);
pub const macro_metavar_expr: Symbol = Symbol::new(1192u32);
pub const macro_metavar_expr_concat: Symbol = Symbol::new(1193u32);
pub const macro_reexport: Symbol = Symbol::new(1194u32);
pub const macro_use: Symbol = Symbol::new(1195u32);
pub const macro_vis_matcher: Symbol = Symbol::new(1196u32);
pub const macroless_const_item_generic_const_args: Symbol =
Symbol::new(1197u32);
pub const macroless_generic_const_args: Symbol = Symbol::new(1198u32);
pub const macros_in_extern: Symbol = Symbol::new(1199u32);
pub const main: Symbol = Symbol::new(1200u32);
pub const managed_boxes: Symbol = Symbol::new(1201u32);
pub const manually_drop: Symbol = Symbol::new(1202u32);
pub const map: Symbol = Symbol::new(1203u32);
pub const map_err: Symbol = Symbol::new(1204u32);
pub const marked_unchecked_type_aliases: Symbol = Symbol::new(1205u32);
pub const marker: Symbol = Symbol::new(1206u32);
pub const marker_trait_attr: Symbol = Symbol::new(1207u32);
pub const masked: Symbol = Symbol::new(1208u32);
pub const match_beginning_vert: Symbol = Symbol::new(1209u32);
pub const match_default_bindings: Symbol = Symbol::new(1210u32);
pub const maximum_number_nsz_f16: Symbol = Symbol::new(1211u32);
pub const maximum_number_nsz_f32: Symbol = Symbol::new(1212u32);
pub const maximum_number_nsz_f64: Symbol = Symbol::new(1213u32);
pub const maximum_number_nsz_f128: Symbol = Symbol::new(1214u32);
pub const maximumf16: Symbol = Symbol::new(1215u32);
pub const maximumf32: Symbol = Symbol::new(1216u32);
pub const maximumf64: Symbol = Symbol::new(1217u32);
pub const maximumf128: Symbol = Symbol::new(1218u32);
pub const may_dangle: Symbol = Symbol::new(1219u32);
pub const may_unwind: Symbol = Symbol::new(1220u32);
pub const maybe_dangling: Symbol = Symbol::new(1221u32);
pub const maybe_uninit: Symbol = Symbol::new(1222u32);
pub const maybe_uninit_uninit: Symbol = Symbol::new(1223u32);
pub const maybe_uninit_zeroed: Symbol = Symbol::new(1224u32);
pub const mem: Symbol = Symbol::new(1225u32);
pub const mem_align_const: Symbol = Symbol::new(1226u32);
pub const mem_discriminant: Symbol = Symbol::new(1227u32);
pub const mem_drop: Symbol = Symbol::new(1228u32);
pub const mem_forget: Symbol = Symbol::new(1229u32);
pub const mem_size_const: Symbol = Symbol::new(1230u32);
pub const mem_swap: Symbol = Symbol::new(1231u32);
pub const mem_uninitialized: Symbol = Symbol::new(1232u32);
pub const mem_variant_count: Symbol = Symbol::new(1233u32);
pub const mem_zeroed: Symbol = Symbol::new(1234u32);
pub const member_constraints: Symbol = Symbol::new(1235u32);
pub const memory: Symbol = Symbol::new(1236u32);
pub const memtag: Symbol = Symbol::new(1237u32);
pub const message: Symbol = Symbol::new(1238u32);
pub const meta: Symbol = Symbol::new(1239u32);
pub const meta_sized: Symbol = Symbol::new(1240u32);
pub const metadata_type: Symbol = Symbol::new(1241u32);
pub const min_adt_const_params: Symbol = Symbol::new(1242u32);
pub const min_const_fn: Symbol = Symbol::new(1243u32);
pub const min_const_generics: Symbol = Symbol::new(1244u32);
pub const min_const_unsafe_fn: Symbol = Symbol::new(1245u32);
pub const min_exhaustive_patterns: Symbol = Symbol::new(1246u32);
pub const min_generic_const_args: Symbol = Symbol::new(1247u32);
pub const min_specialization: Symbol = Symbol::new(1248u32);
pub const min_type_alias_impl_trait: Symbol = Symbol::new(1249u32);
pub const minimum_number_nsz_f16: Symbol = Symbol::new(1250u32);
pub const minimum_number_nsz_f32: Symbol = Symbol::new(1251u32);
pub const minimum_number_nsz_f64: Symbol = Symbol::new(1252u32);
pub const minimum_number_nsz_f128: Symbol = Symbol::new(1253u32);
pub const minimumf16: Symbol = Symbol::new(1254u32);
pub const minimumf32: Symbol = Symbol::new(1255u32);
pub const minimumf64: Symbol = Symbol::new(1256u32);
pub const minimumf128: Symbol = Symbol::new(1257u32);
pub const mips: Symbol = Symbol::new(1258u32);
pub const mips32r6: Symbol = Symbol::new(1259u32);
pub const mips64: Symbol = Symbol::new(1260u32);
pub const mips64r6: Symbol = Symbol::new(1261u32);
pub const mips_target_feature: Symbol = Symbol::new(1262u32);
pub const mir_assume: Symbol = Symbol::new(1263u32);
pub const mir_basic_block: Symbol = Symbol::new(1264u32);
pub const mir_call: Symbol = Symbol::new(1265u32);
pub const mir_cast: Symbol = Symbol::new(1266u32);
pub const mir_cast_fn_ptr_safety: Symbol = Symbol::new(1267u32);
pub const mir_cast_kind: Symbol = Symbol::new(1268u32);
pub const mir_cast_ptr_coercion: Symbol = Symbol::new(1269u32);
pub const mir_cast_ptr_to_ptr: Symbol = Symbol::new(1270u32);
pub const mir_cast_transmute: Symbol = Symbol::new(1271u32);
pub const mir_cast_unsize: Symbol = Symbol::new(1272u32);
pub const mir_checked: Symbol = Symbol::new(1273u32);
pub const mir_debuginfo: Symbol = Symbol::new(1274u32);
pub const mir_discriminant: Symbol = Symbol::new(1275u32);
pub const mir_drop: Symbol = Symbol::new(1276u32);
pub const mir_field: Symbol = Symbol::new(1277u32);
pub const mir_goto: Symbol = Symbol::new(1278u32);
pub const mir_make_place: Symbol = Symbol::new(1279u32);
pub const mir_move: Symbol = Symbol::new(1280u32);
pub const mir_offset: Symbol = Symbol::new(1281u32);
pub const mir_ptr_metadata: Symbol = Symbol::new(1282u32);
pub const mir_return: Symbol = Symbol::new(1283u32);
pub const mir_return_to: Symbol = Symbol::new(1284u32);
pub const mir_set_discriminant: Symbol = Symbol::new(1285u32);
pub const mir_static: Symbol = Symbol::new(1286u32);
pub const mir_static_mut: Symbol = Symbol::new(1287u32);
pub const mir_storage_dead: Symbol = Symbol::new(1288u32);
pub const mir_storage_live: Symbol = Symbol::new(1289u32);
pub const mir_tail_call: Symbol = Symbol::new(1290u32);
pub const mir_unreachable: Symbol = Symbol::new(1291u32);
pub const mir_unwind_cleanup: Symbol = Symbol::new(1292u32);
pub const mir_unwind_continue: Symbol = Symbol::new(1293u32);
pub const mir_unwind_resume: Symbol = Symbol::new(1294u32);
pub const mir_unwind_terminate: Symbol = Symbol::new(1295u32);
pub const mir_unwind_terminate_reason: Symbol = Symbol::new(1296u32);
pub const mir_unwind_unreachable: Symbol = Symbol::new(1297u32);
pub const mir_variant: Symbol = Symbol::new(1298u32);
pub const miri: Symbol = Symbol::new(1299u32);
pub const misc: Symbol = Symbol::new(1300u32);
pub const miscsr: Symbol = Symbol::new(1301u32);
pub const mmx_reg: Symbol = Symbol::new(1302u32);
pub const modifiers: Symbol = Symbol::new(1303u32);
pub const module: Symbol = Symbol::new(1304u32);
pub const module_path: Symbol = Symbol::new(1305u32);
pub const more_maybe_bounds: Symbol = Symbol::new(1306u32);
pub const more_qualified_paths: Symbol = Symbol::new(1307u32);
pub const more_struct_aliases: Symbol = Symbol::new(1308u32);
pub const movbe_target_feature: Symbol = Symbol::new(1309u32);
pub const movdir64b_target_feature: Symbol = Symbol::new(1310u32);
pub const movdiri_target_feature: Symbol = Symbol::new(1311u32);
pub const move_expr: Symbol = Symbol::new(1312u32);
pub const move_ref_pattern: Symbol = Symbol::new(1313u32);
pub const move_size_limit: Symbol = Symbol::new(1314u32);
pub const movrs_target_feature: Symbol = Symbol::new(1315u32);
pub const msa: Symbol = Symbol::new(1316u32);
pub const msp430: Symbol = Symbol::new(1317u32);
pub const mul: Symbol = Symbol::new(1318u32);
pub const mul_assign: Symbol = Symbol::new(1319u32);
pub const mul_with_overflow: Symbol = Symbol::new(1320u32);
pub const multiple_supertrait_upcastable: Symbol = Symbol::new(1321u32);
pub const must_not_suspend: Symbol = Symbol::new(1322u32);
pub const must_use: Symbol = Symbol::new(1323u32);
pub const mut_preserve_binding_mode_2024: Symbol = Symbol::new(1324u32);
pub const mut_ref: Symbol = Symbol::new(1325u32);
pub const mut_restriction: Symbol = Symbol::new(1326u32);
pub const mutable: Symbol = Symbol::new(1327u32);
pub const naked: Symbol = Symbol::new(1328u32);
pub const naked_asm: Symbol = Symbol::new(1329u32);
pub const naked_functions: Symbol = Symbol::new(1330u32);
pub const naked_functions_rustic_abi: Symbol = Symbol::new(1331u32);
pub const naked_functions_target_feature: Symbol = Symbol::new(1332u32);
pub const name: Symbol = Symbol::new(1333u32);
pub const named_fn_trait_parameters: Symbol = Symbol::new(1334u32);
pub const names: Symbol = Symbol::new(1335u32);
pub const native_link_modifiers: Symbol = Symbol::new(1336u32);
pub const native_link_modifiers_as_needed: Symbol = Symbol::new(1337u32);
pub const native_link_modifiers_bundle: Symbol = Symbol::new(1338u32);
pub const native_link_modifiers_verbatim: Symbol = Symbol::new(1339u32);
pub const native_link_modifiers_whole_archive: Symbol =
Symbol::new(1340u32);
pub const natvis_file: Symbol = Symbol::new(1341u32);
pub const ne: Symbol = Symbol::new(1342u32);
pub const needs_allocator: Symbol = Symbol::new(1343u32);
pub const needs_drop: Symbol = Symbol::new(1344u32);
pub const needs_panic_runtime: Symbol = Symbol::new(1345u32);
pub const neg: Symbol = Symbol::new(1346u32);
pub const negate_unsigned: Symbol = Symbol::new(1347u32);
pub const negative_bounds: Symbol = Symbol::new(1348u32);
pub const negative_impls: Symbol = Symbol::new(1349u32);
pub const neon: Symbol = Symbol::new(1350u32);
pub const nested: Symbol = Symbol::new(1351u32);
pub const never: Symbol = Symbol::new(1352u32);
pub const never_patterns: Symbol = Symbol::new(1353u32);
pub const never_returns_null_ptr: Symbol = Symbol::new(1354u32);
pub const never_type: Symbol = Symbol::new(1355u32);
pub const never_type_fallback: Symbol = Symbol::new(1356u32);
pub const new: Symbol = Symbol::new(1357u32);
pub const new_binary: Symbol = Symbol::new(1358u32);
pub const new_debug: Symbol = Symbol::new(1359u32);
pub const new_debug_noop: Symbol = Symbol::new(1360u32);
pub const new_display: Symbol = Symbol::new(1361u32);
pub const new_lower_exp: Symbol = Symbol::new(1362u32);
pub const new_lower_hex: Symbol = Symbol::new(1363u32);
pub const new_octal: Symbol = Symbol::new(1364u32);
pub const new_pointer: Symbol = Symbol::new(1365u32);
pub const new_range: Symbol = Symbol::new(1366u32);
pub const new_unchecked: Symbol = Symbol::new(1367u32);
pub const new_upper_exp: Symbol = Symbol::new(1368u32);
pub const new_upper_hex: Symbol = Symbol::new(1369u32);
pub const next: Symbol = Symbol::new(1370u32);
pub const niko: Symbol = Symbol::new(1371u32);
pub const nll: Symbol = Symbol::new(1372u32);
pub const no: Symbol = Symbol::new(1373u32);
pub const no_builtins: Symbol = Symbol::new(1374u32);
pub const no_core: Symbol = Symbol::new(1375u32);
pub const no_coverage: Symbol = Symbol::new(1376u32);
pub const no_crate_inject: Symbol = Symbol::new(1377u32);
pub const no_debug: Symbol = Symbol::new(1378u32);
pub const no_default_passes: Symbol = Symbol::new(1379u32);
pub const no_implicit_prelude: Symbol = Symbol::new(1380u32);
pub const no_inline: Symbol = Symbol::new(1381u32);
pub const no_link: Symbol = Symbol::new(1382u32);
pub const no_main: Symbol = Symbol::new(1383u32);
pub const no_mangle: Symbol = Symbol::new(1384u32);
pub const no_sanitize: Symbol = Symbol::new(1385u32);
pub const no_stack_check: Symbol = Symbol::new(1386u32);
pub const no_std: Symbol = Symbol::new(1387u32);
pub const nomem: Symbol = Symbol::new(1388u32);
pub const non_ascii_idents: Symbol = Symbol::new(1389u32);
pub const non_exhaustive: Symbol = Symbol::new(1390u32);
pub const non_exhaustive_omitted_patterns_lint: Symbol =
Symbol::new(1391u32);
pub const non_lifetime_binders: Symbol = Symbol::new(1392u32);
pub const non_modrs_mods: Symbol = Symbol::new(1393u32);
pub const non_null: Symbol = Symbol::new(1394u32);
pub const nonblocking: Symbol = Symbol::new(1395u32);
pub const none: Symbol = Symbol::new(1396u32);
pub const nontemporal_store: Symbol = Symbol::new(1397u32);
pub const noop_method_borrow: Symbol = Symbol::new(1398u32);
pub const noop_method_clone: Symbol = Symbol::new(1399u32);
pub const noop_method_deref: Symbol = Symbol::new(1400u32);
pub const noprefix: Symbol = Symbol::new(1401u32);
pub const noreturn: Symbol = Symbol::new(1402u32);
pub const nostack: Symbol = Symbol::new(1403u32);
pub const not: Symbol = Symbol::new(1404u32);
pub const notable_trait: Symbol = Symbol::new(1405u32);
pub const note: Symbol = Symbol::new(1406u32);
pub const null: Symbol = Symbol::new(1407u32);
pub const nvptx64: Symbol = Symbol::new(1408u32);
pub const nvptx_target_feature: Symbol = Symbol::new(1409u32);
pub const object_safe_for_dispatch: Symbol = Symbol::new(1410u32);
pub const of: Symbol = Symbol::new(1411u32);
pub const off: Symbol = Symbol::new(1412u32);
pub const offload: Symbol = Symbol::new(1413u32);
pub const offload_get_num_devices: Symbol = Symbol::new(1414u32);
pub const offload_kernel: Symbol = Symbol::new(1415u32);
pub const offload_region: Symbol = Symbol::new(1416u32);
pub const offset: Symbol = Symbol::new(1417u32);
pub const offset_of_enum: Symbol = Symbol::new(1418u32);
pub const offset_of_nested: Symbol = Symbol::new(1419u32);
pub const offset_of_slice: Symbol = Symbol::new(1420u32);
pub const ok_or_else: Symbol = Symbol::new(1421u32);
pub const old_name: Symbol = Symbol::new(1422u32);
pub const omit_gdb_pretty_printer_section: Symbol = Symbol::new(1423u32);
pub const on: Symbol = Symbol::new(1424u32);
pub const on_const: Symbol = Symbol::new(1425u32);
pub const on_move: Symbol = Symbol::new(1426u32);
pub const on_type_error: Symbol = Symbol::new(1427u32);
pub const on_unimplemented: Symbol = Symbol::new(1428u32);
pub const on_unknown: Symbol = Symbol::new(1429u32);
pub const on_unmatched_args: Symbol = Symbol::new(1430u32);
pub const opaque: Symbol = Symbol::new(1431u32);
pub const opaque_module_name_placeholder: Symbol = Symbol::new(1432u32);
pub const ops: Symbol = Symbol::new(1433u32);
pub const opt_out_copy: Symbol = Symbol::new(1434u32);
pub const optimize: Symbol = Symbol::new(1435u32);
pub const optimize_attribute: Symbol = Symbol::new(1436u32);
pub const optimized: Symbol = Symbol::new(1437u32);
pub const optin_builtin_traits: Symbol = Symbol::new(1438u32);
pub const option: Symbol = Symbol::new(1439u32);
pub const option_env: Symbol = Symbol::new(1440u32);
pub const options: Symbol = Symbol::new(1441u32);
pub const or: Symbol = Symbol::new(1442u32);
pub const or_patterns: Symbol = Symbol::new(1443u32);
pub const ord_cmp_method: Symbol = Symbol::new(1444u32);
pub const other: Symbol = Symbol::new(1445u32);
pub const out: Symbol = Symbol::new(1446u32);
pub const output: Symbol = Symbol::new(1447u32);
pub const overflow_checks: Symbol = Symbol::new(1448u32);
pub const overlapping_marker_traits: Symbol = Symbol::new(1449u32);
pub const owned_box: Symbol = Symbol::new(1450u32);
pub const packed: Symbol = Symbol::new(1451u32);
pub const packed_bundled_libs: Symbol = Symbol::new(1452u32);
pub const panic: Symbol = Symbol::new(1453u32);
pub const panic_2015: Symbol = Symbol::new(1454u32);
pub const panic_2021: Symbol = Symbol::new(1455u32);
pub const panic_abort: Symbol = Symbol::new(1456u32);
pub const panic_bounds_check: Symbol = Symbol::new(1457u32);
pub const panic_cannot_unwind: Symbol = Symbol::new(1458u32);
pub const panic_const_add_overflow: Symbol = Symbol::new(1459u32);
pub const panic_const_async_fn_resumed: Symbol = Symbol::new(1460u32);
pub const panic_const_async_fn_resumed_drop: Symbol =
Symbol::new(1461u32);
pub const panic_const_async_fn_resumed_panic: Symbol =
Symbol::new(1462u32);
pub const panic_const_async_gen_fn_resumed: Symbol = Symbol::new(1463u32);
pub const panic_const_async_gen_fn_resumed_drop: Symbol =
Symbol::new(1464u32);
pub const panic_const_async_gen_fn_resumed_panic: Symbol =
Symbol::new(1465u32);
pub const panic_const_coroutine_resumed: Symbol = Symbol::new(1466u32);
pub const panic_const_coroutine_resumed_drop: Symbol =
Symbol::new(1467u32);
pub const panic_const_coroutine_resumed_panic: Symbol =
Symbol::new(1468u32);
pub const panic_const_div_by_zero: Symbol = Symbol::new(1469u32);
pub const panic_const_div_overflow: Symbol = Symbol::new(1470u32);
pub const panic_const_gen_fn_none: Symbol = Symbol::new(1471u32);
pub const panic_const_gen_fn_none_drop: Symbol = Symbol::new(1472u32);
pub const panic_const_gen_fn_none_panic: Symbol = Symbol::new(1473u32);
pub const panic_const_mul_overflow: Symbol = Symbol::new(1474u32);
pub const panic_const_neg_overflow: Symbol = Symbol::new(1475u32);
pub const panic_const_rem_by_zero: Symbol = Symbol::new(1476u32);
pub const panic_const_rem_overflow: Symbol = Symbol::new(1477u32);
pub const panic_const_shl_overflow: Symbol = Symbol::new(1478u32);
pub const panic_const_shr_overflow: Symbol = Symbol::new(1479u32);
pub const panic_const_sub_overflow: Symbol = Symbol::new(1480u32);
pub const panic_display: Symbol = Symbol::new(1481u32);
pub const panic_fmt: Symbol = Symbol::new(1482u32);
pub const panic_handler: Symbol = Symbol::new(1483u32);
pub const panic_impl: Symbol = Symbol::new(1484u32);
pub const panic_implementation: Symbol = Symbol::new(1485u32);
pub const panic_in_cleanup: Symbol = Symbol::new(1486u32);
pub const panic_info: Symbol = Symbol::new(1487u32);
pub const panic_invalid_enum_construction: Symbol = Symbol::new(1488u32);
pub const panic_location: Symbol = Symbol::new(1489u32);
pub const panic_misaligned_pointer_dereference: Symbol =
Symbol::new(1490u32);
pub const panic_nounwind: Symbol = Symbol::new(1491u32);
pub const panic_null_pointer_dereference: Symbol = Symbol::new(1492u32);
pub const panic_null_reference_constructed: Symbol = Symbol::new(1493u32);
pub const panic_runtime: Symbol = Symbol::new(1494u32);
pub const panic_str_2015: Symbol = Symbol::new(1495u32);
pub const panic_unwind: Symbol = Symbol::new(1496u32);
pub const panicking: Symbol = Symbol::new(1497u32);
pub const param_attrs: Symbol = Symbol::new(1498u32);
pub const parent_label: Symbol = Symbol::new(1499u32);
pub const partial_cmp: Symbol = Symbol::new(1500u32);
pub const partial_ord: Symbol = Symbol::new(1501u32);
pub const passes: Symbol = Symbol::new(1502u32);
pub const pat: Symbol = Symbol::new(1503u32);
pub const pat_param: Symbol = Symbol::new(1504u32);
pub const patchable_function_entry: Symbol = Symbol::new(1505u32);
pub const path: Symbol = Symbol::new(1506u32);
pub const pattern_complexity_limit: Symbol = Symbol::new(1507u32);
pub const pattern_parentheses: Symbol = Symbol::new(1508u32);
pub const pattern_type: Symbol = Symbol::new(1509u32);
pub const pattern_type_range_trait: Symbol = Symbol::new(1510u32);
pub const pattern_types: Symbol = Symbol::new(1511u32);
pub const phantom_data: Symbol = Symbol::new(1512u32);
pub const phase: Symbol = Symbol::new(1513u32);
pub const pic: Symbol = Symbol::new(1514u32);
pub const pie: Symbol = Symbol::new(1515u32);
pub const pin_drop: Symbol = Symbol::new(1516u32);
pub const pin_ergonomics: Symbol = Symbol::new(1517u32);
pub const pin_v2: Symbol = Symbol::new(1518u32);
pub const platform_intrinsics: Symbol = Symbol::new(1519u32);
pub const plugin: Symbol = Symbol::new(1520u32);
pub const plugin_registrar: Symbol = Symbol::new(1521u32);
pub const plugins: Symbol = Symbol::new(1522u32);
pub const pointee: Symbol = Symbol::new(1523u32);
pub const pointee_sized: Symbol = Symbol::new(1524u32);
pub const pointee_trait: Symbol = Symbol::new(1525u32);
pub const pointer: Symbol = Symbol::new(1526u32);
pub const poll: Symbol = Symbol::new(1527u32);
pub const post_cleanup: Symbol = Symbol::new(1528u32);
pub const post_dash_lto: Symbol = Symbol::new(1529u32);
pub const postfix_match: Symbol = Symbol::new(1530u32);
pub const powerpc: Symbol = Symbol::new(1531u32);
pub const powerpc64: Symbol = Symbol::new(1532u32);
pub const powerpc_target_feature: Symbol = Symbol::new(1533u32);
pub const powf: Symbol = Symbol::new(1534u32);
pub const powi: Symbol = Symbol::new(1535u32);
pub const ppcf128: Symbol = Symbol::new(1536u32);
pub const pre_dash_lto: Symbol = Symbol::new(1537u32);
pub const precise_capturing: Symbol = Symbol::new(1538u32);
pub const precise_capturing_in_traits: Symbol = Symbol::new(1539u32);
pub const precise_pointer_size_matching: Symbol = Symbol::new(1540u32);
pub const predicates: Symbol = Symbol::new(1541u32);
pub const pref_align_of: Symbol = Symbol::new(1542u32);
pub const prefetch_read_data: Symbol = Symbol::new(1543u32);
pub const prefetch_read_instruction: Symbol = Symbol::new(1544u32);
pub const prefetch_write_data: Symbol = Symbol::new(1545u32);
pub const prefetch_write_instruction: Symbol = Symbol::new(1546u32);
pub const prefix_nops: Symbol = Symbol::new(1547u32);
pub const preg: Symbol = Symbol::new(1548u32);
pub const prelude: Symbol = Symbol::new(1549u32);
pub const prelude_import: Symbol = Symbol::new(1550u32);
pub const preserves_flags: Symbol = Symbol::new(1551u32);
pub const prfchw_target_feature: Symbol = Symbol::new(1552u32);
pub const prid: Symbol = Symbol::new(1553u32);
pub const primitive: Symbol = Symbol::new(1554u32);
pub const print_macro: Symbol = Symbol::new(1555u32);
pub const println_macro: Symbol = Symbol::new(1556u32);
pub const proc_dash_macro: Symbol = Symbol::new(1557u32);
pub const proc_macro: Symbol = Symbol::new(1558u32);
pub const proc_macro_attribute: Symbol = Symbol::new(1559u32);
pub const proc_macro_derive: Symbol = Symbol::new(1560u32);
pub const proc_macro_expr: Symbol = Symbol::new(1561u32);
pub const proc_macro_gen: Symbol = Symbol::new(1562u32);
pub const proc_macro_hygiene: Symbol = Symbol::new(1563u32);
pub const proc_macro_internals: Symbol = Symbol::new(1564u32);
pub const proc_macro_mod: Symbol = Symbol::new(1565u32);
pub const proc_macro_non_items: Symbol = Symbol::new(1566u32);
pub const proc_macro_path_invoc: Symbol = Symbol::new(1567u32);
pub const profiler_runtime: Symbol = Symbol::new(1568u32);
pub const ptr: Symbol = Symbol::new(1569u32);
pub const ptr_cast: Symbol = Symbol::new(1570u32);
pub const ptr_cast_const: Symbol = Symbol::new(1571u32);
pub const ptr_cast_mut: Symbol = Symbol::new(1572u32);
pub const ptr_const_is_null: Symbol = Symbol::new(1573u32);
pub const ptr_copy: Symbol = Symbol::new(1574u32);
pub const ptr_copy_nonoverlapping: Symbol = Symbol::new(1575u32);
pub const ptr_drop_in_place: Symbol = Symbol::new(1576u32);
pub const ptr_drop_in_place_self: Symbol = Symbol::new(1577u32);
pub const ptr_from_ref: Symbol = Symbol::new(1578u32);
pub const ptr_guaranteed_cmp: Symbol = Symbol::new(1579u32);
pub const ptr_is_null: Symbol = Symbol::new(1580u32);
pub const ptr_mask: Symbol = Symbol::new(1581u32);
pub const ptr_metadata: Symbol = Symbol::new(1582u32);
pub const ptr_null: Symbol = Symbol::new(1583u32);
pub const ptr_null_mut: Symbol = Symbol::new(1584u32);
pub const ptr_offset_from: Symbol = Symbol::new(1585u32);
pub const ptr_offset_from_unsigned: Symbol = Symbol::new(1586u32);
pub const ptr_read: Symbol = Symbol::new(1587u32);
pub const ptr_read_unaligned: Symbol = Symbol::new(1588u32);
pub const ptr_replace: Symbol = Symbol::new(1589u32);
pub const ptr_swap: Symbol = Symbol::new(1590u32);
pub const ptr_swap_nonoverlapping: Symbol = Symbol::new(1591u32);
pub const ptr_write: Symbol = Symbol::new(1592u32);
pub const ptr_write_bytes: Symbol = Symbol::new(1593u32);
pub const ptr_write_unaligned: Symbol = Symbol::new(1594u32);
pub const ptr_write_volatile: Symbol = Symbol::new(1595u32);
pub const pub_macro_rules: Symbol = Symbol::new(1596u32);
pub const pub_restricted: Symbol = Symbol::new(1597u32);
pub const public: Symbol = Symbol::new(1598u32);
pub const pure: Symbol = Symbol::new(1599u32);
pub const pushpop_unsafe: Symbol = Symbol::new(1600u32);
pub const qreg: Symbol = Symbol::new(1601u32);
pub const qreg_low4: Symbol = Symbol::new(1602u32);
pub const qreg_low8: Symbol = Symbol::new(1603u32);
pub const quad_precision_float: Symbol = Symbol::new(1604u32);
pub const question_mark: Symbol = Symbol::new(1605u32);
pub const quote: Symbol = Symbol::new(1606u32);
pub const range_inclusive_new: Symbol = Symbol::new(1607u32);
pub const raw_dash_dylib: Symbol = Symbol::new(1608u32);
pub const raw_dylib: Symbol = Symbol::new(1609u32);
pub const raw_dylib_elf: Symbol = Symbol::new(1610u32);
pub const raw_eq: Symbol = Symbol::new(1611u32);
pub const raw_identifiers: Symbol = Symbol::new(1612u32);
pub const raw_ref_op: Symbol = Symbol::new(1613u32);
pub const re_rebalance_coherence: Symbol = Symbol::new(1614u32);
pub const read_via_copy: Symbol = Symbol::new(1615u32);
pub const readonly: Symbol = Symbol::new(1616u32);
pub const realloc: Symbol = Symbol::new(1617u32);
pub const realtime: Symbol = Symbol::new(1618u32);
pub const reason: Symbol = Symbol::new(1619u32);
pub const reborrow: Symbol = Symbol::new(1620u32);
pub const receiver: Symbol = Symbol::new(1621u32);
pub const receiver_target: Symbol = Symbol::new(1622u32);
pub const recursion_limit: Symbol = Symbol::new(1623u32);
pub const reexport_test_harness_main: Symbol = Symbol::new(1624u32);
pub const ref_pat_eat_one_layer_2024: Symbol = Symbol::new(1625u32);
pub const ref_pat_eat_one_layer_2024_structural: Symbol =
Symbol::new(1626u32);
pub const ref_pat_everywhere: Symbol = Symbol::new(1627u32);
pub const ref_unwind_safe_trait: Symbol = Symbol::new(1628u32);
pub const reference: Symbol = Symbol::new(1629u32);
pub const reflect: Symbol = Symbol::new(1630u32);
pub const reg: Symbol = Symbol::new(1631u32);
pub const reg16: Symbol = Symbol::new(1632u32);
pub const reg32: Symbol = Symbol::new(1633u32);
pub const reg64: Symbol = Symbol::new(1634u32);
pub const reg_abcd: Symbol = Symbol::new(1635u32);
pub const reg_addr: Symbol = Symbol::new(1636u32);
pub const reg_byte: Symbol = Symbol::new(1637u32);
pub const reg_data: Symbol = Symbol::new(1638u32);
pub const reg_iw: Symbol = Symbol::new(1639u32);
pub const reg_nonzero: Symbol = Symbol::new(1640u32);
pub const reg_pair: Symbol = Symbol::new(1641u32);
pub const reg_ptr: Symbol = Symbol::new(1642u32);
pub const reg_upper: Symbol = Symbol::new(1643u32);
pub const register_attr: Symbol = Symbol::new(1644u32);
pub const register_attribute_tool: Symbol = Symbol::new(1645u32);
pub const register_lint_tool: Symbol = Symbol::new(1646u32);
pub const register_tool: Symbol = Symbol::new(1647u32);
pub const relaxed_adts: Symbol = Symbol::new(1648u32);
pub const relaxed_struct_unsize: Symbol = Symbol::new(1649u32);
pub const relocation_model: Symbol = Symbol::new(1650u32);
pub const rem: Symbol = Symbol::new(1651u32);
pub const rem_assign: Symbol = Symbol::new(1652u32);
pub const repr: Symbol = Symbol::new(1653u32);
pub const repr128: Symbol = Symbol::new(1654u32);
pub const repr_align: Symbol = Symbol::new(1655u32);
pub const repr_align_enum: Symbol = Symbol::new(1656u32);
pub const repr_packed: Symbol = Symbol::new(1657u32);
pub const repr_simd: Symbol = Symbol::new(1658u32);
pub const repr_transparent: Symbol = Symbol::new(1659u32);
pub const require: Symbol = Symbol::new(1660u32);
pub const reserve_x18: Symbol = Symbol::new(1661u32);
pub const residual: Symbol = Symbol::new(1662u32);
pub const result: Symbol = Symbol::new(1663u32);
pub const result_ffi_guarantees: Symbol = Symbol::new(1664u32);
pub const resumable_breakpoint: Symbol = Symbol::new(1665u32);
pub const return_address: Symbol = Symbol::new(1666u32);
pub const return_position_impl_trait_in_trait: Symbol =
Symbol::new(1667u32);
pub const return_type_notation: Symbol = Symbol::new(1668u32);
pub const right_arrow: Symbol = Symbol::new(1669u32);
pub const riscv32: Symbol = Symbol::new(1670u32);
pub const riscv64: Symbol = Symbol::new(1671u32);
pub const riscv_target_feature: Symbol = Symbol::new(1672u32);
pub const rlib: Symbol = Symbol::new(1673u32);
pub const ropi: Symbol = Symbol::new(1674u32);
pub const ropi_rwpi: Symbol = Symbol::new(1675u32);
pub const rotate_left: Symbol = Symbol::new(1676u32);
pub const rotate_right: Symbol = Symbol::new(1677u32);
pub const round: Symbol = Symbol::new(1678u32);
pub const round_ties_even: Symbol = Symbol::new(1679u32);
pub const rtm_target_feature: Symbol = Symbol::new(1680u32);
pub const runtime: Symbol = Symbol::new(1681u32);
pub const rust: Symbol = Symbol::new(1682u32);
pub const rust_2015: Symbol = Symbol::new(1683u32);
pub const rust_2018: Symbol = Symbol::new(1684u32);
pub const rust_2018_preview: Symbol = Symbol::new(1685u32);
pub const rust_2021: Symbol = Symbol::new(1686u32);
pub const rust_2024: Symbol = Symbol::new(1687u32);
pub const rust_analyzer: Symbol = Symbol::new(1688u32);
pub const rust_begin_unwind: Symbol = Symbol::new(1689u32);
pub const rust_cold_cc: Symbol = Symbol::new(1690u32);
pub const rust_dash_call: Symbol = Symbol::new(1691u32);
pub const rust_eh_personality: Symbol = Symbol::new(1692u32);
pub const rust_future: Symbol = Symbol::new(1693u32);
pub const rust_logo: Symbol = Symbol::new(1694u32);
pub const rust_out: Symbol = Symbol::new(1695u32);
pub const rust_preserve_none_cc: Symbol = Symbol::new(1696u32);
pub const rust_tail_cc: Symbol = Symbol::new(1697u32);
pub const rustc: Symbol = Symbol::new(1698u32);
pub const rustc_abi: Symbol = Symbol::new(1699u32);
pub const rustc_align: Symbol = Symbol::new(1700u32);
pub const rustc_align_static: Symbol = Symbol::new(1701u32);
pub const rustc_allocator: Symbol = Symbol::new(1702u32);
pub const rustc_allocator_zeroed: Symbol = Symbol::new(1703u32);
pub const rustc_allocator_zeroed_variant: Symbol = Symbol::new(1704u32);
pub const rustc_allow_const_fn_unstable: Symbol = Symbol::new(1705u32);
pub const rustc_allow_incoherent_impl: Symbol = Symbol::new(1706u32);
pub const rustc_allow_lifetime_dependent_specialization: Symbol =
Symbol::new(1707u32);
pub const rustc_allowed_through_unstable_modules: Symbol =
Symbol::new(1708u32);
pub const rustc_always_gca: Symbol = Symbol::new(1709u32);
pub const rustc_assert_variance: Symbol = Symbol::new(1710u32);
pub const rustc_attrs: Symbol = Symbol::new(1711u32);
pub const rustc_autodiff: Symbol = Symbol::new(1712u32);
pub const rustc_builtin_macro: Symbol = Symbol::new(1713u32);
pub const rustc_canonical_symbol: Symbol = Symbol::new(1714u32);
pub const rustc_capture_analysis: Symbol = Symbol::new(1715u32);
pub const rustc_clean: Symbol = Symbol::new(1716u32);
pub const rustc_coherence_is_core: Symbol = Symbol::new(1717u32);
pub const rustc_coinductive: Symbol = Symbol::new(1718u32);
pub const rustc_comptime: Symbol = Symbol::new(1719u32);
pub const rustc_confusables: Symbol = Symbol::new(1720u32);
pub const rustc_const_stable: Symbol = Symbol::new(1721u32);
pub const rustc_const_stable_indirect: Symbol = Symbol::new(1722u32);
pub const rustc_const_unstable: Symbol = Symbol::new(1723u32);
pub const rustc_conversion_suggestion: Symbol = Symbol::new(1724u32);
pub const rustc_deallocator: Symbol = Symbol::new(1725u32);
pub const rustc_default_body_unstable: Symbol = Symbol::new(1726u32);
pub const rustc_delayed_bug_from_inside_query: Symbol =
Symbol::new(1727u32);
pub const rustc_deny_explicit_impl: Symbol = Symbol::new(1728u32);
pub const rustc_deprecated_safe_2024: Symbol = Symbol::new(1729u32);
pub const rustc_diagnostic_item: Symbol = Symbol::new(1730u32);
pub const rustc_diagnostic_macros: Symbol = Symbol::new(1731u32);
pub const rustc_diagnostic_opaque: Symbol = Symbol::new(1732u32);
pub const rustc_do_not_const_check: Symbol = Symbol::new(1733u32);
pub const rustc_doc_primitive: Symbol = Symbol::new(1734u32);
pub const rustc_driver: Symbol = Symbol::new(1735u32);
pub const rustc_dummy: Symbol = Symbol::new(1736u32);
pub const rustc_dump_clauses: Symbol = Symbol::new(1737u32);
pub const rustc_dump_def_parents: Symbol = Symbol::new(1738u32);
pub const rustc_dump_def_path: Symbol = Symbol::new(1739u32);
pub const rustc_dump_generics: Symbol = Symbol::new(1740u32);
pub const rustc_dump_hidden_type_of_opaques: Symbol =
Symbol::new(1741u32);
pub const rustc_dump_inferred_outlives: Symbol = Symbol::new(1742u32);
pub const rustc_dump_item_bounds: Symbol = Symbol::new(1743u32);
pub const rustc_dump_layout: Symbol = Symbol::new(1744u32);
pub const rustc_dump_object_lifetime_defaults: Symbol =
Symbol::new(1745u32);
pub const rustc_dump_symbol_name: Symbol = Symbol::new(1746u32);
pub const rustc_dump_user_args: Symbol = Symbol::new(1747u32);
pub const rustc_dump_variances: Symbol = Symbol::new(1748u32);
pub const rustc_dump_variances_of_opaques: Symbol = Symbol::new(1749u32);
pub const rustc_dump_vtable: Symbol = Symbol::new(1750u32);
pub const rustc_dyn_incompatible_trait: Symbol = Symbol::new(1751u32);
pub const rustc_effective_visibility: Symbol = Symbol::new(1752u32);
pub const rustc_eii_foreign_item: Symbol = Symbol::new(1753u32);
pub const rustc_evaluate_where_clauses: Symbol = Symbol::new(1754u32);
pub const rustc_expected_cgu_reuse: Symbol = Symbol::new(1755u32);
pub const rustc_force_inline: Symbol = Symbol::new(1756u32);
pub const rustc_has_incoherent_inherent_impls: Symbol =
Symbol::new(1757u32);
pub const rustc_if_this_changed: Symbol = Symbol::new(1758u32);
pub const rustc_inherit_overflow_checks: Symbol = Symbol::new(1759u32);
pub const rustc_insignificant_dtor: Symbol = Symbol::new(1760u32);
pub const rustc_intrinsic: Symbol = Symbol::new(1761u32);
pub const rustc_intrinsic_const_stable_indirect: Symbol =
Symbol::new(1762u32);
pub const rustc_legacy_const_generics: Symbol = Symbol::new(1763u32);
pub const rustc_lint_opt_deny_field_access: Symbol = Symbol::new(1764u32);
pub const rustc_lint_opt_ty: Symbol = Symbol::new(1765u32);
pub const rustc_lint_query_instability: Symbol = Symbol::new(1766u32);
pub const rustc_lint_untracked_query_information: Symbol =
Symbol::new(1767u32);
pub const rustc_macro_transparency: Symbol = Symbol::new(1768u32);
pub const rustc_main: Symbol = Symbol::new(1769u32);
pub const rustc_mir: Symbol = Symbol::new(1770u32);
pub const rustc_must_implement_one_of: Symbol = Symbol::new(1771u32);
pub const rustc_must_match_exhaustively: Symbol = Symbol::new(1772u32);
pub const rustc_no_implicit_autorefs: Symbol = Symbol::new(1773u32);
pub const rustc_no_implicit_bounds: Symbol = Symbol::new(1774u32);
pub const rustc_no_mir_inline: Symbol = Symbol::new(1775u32);
pub const rustc_no_writable: Symbol = Symbol::new(1776u32);
pub const rustc_non_const_trait_method: Symbol = Symbol::new(1777u32);
pub const rustc_nonnull_optimization_guaranteed: Symbol =
Symbol::new(1778u32);
pub const rustc_nounwind: Symbol = Symbol::new(1779u32);
pub const rustc_objc_class: Symbol = Symbol::new(1780u32);
pub const rustc_objc_selector: Symbol = Symbol::new(1781u32);
pub const rustc_offload_kernel: Symbol = Symbol::new(1782u32);
pub const rustc_on_unimplemented: Symbol = Symbol::new(1783u32);
pub const rustc_panics_when_zero: Symbol = Symbol::new(1784u32);
pub const rustc_paren_sugar: Symbol = Symbol::new(1785u32);
pub const rustc_partition_codegened: Symbol = Symbol::new(1786u32);
pub const rustc_partition_reused: Symbol = Symbol::new(1787u32);
pub const rustc_pass_by_value: Symbol = Symbol::new(1788u32);
pub const rustc_pass_indirectly_in_non_rustic_abis: Symbol =
Symbol::new(1789u32);
pub const rustc_peek: Symbol = Symbol::new(1790u32);
pub const rustc_peek_liveness: Symbol = Symbol::new(1791u32);
pub const rustc_peek_maybe_init: Symbol = Symbol::new(1792u32);
pub const rustc_peek_maybe_uninit: Symbol = Symbol::new(1793u32);
pub const rustc_preserve_ub_checks: Symbol = Symbol::new(1794u32);
pub const rustc_pretty_live_locals: Symbol = Symbol::new(1795u32);
pub const rustc_pretty_precise_liveness: Symbol = Symbol::new(1796u32);
pub const rustc_pretty_transitive_live_locals: Symbol =
Symbol::new(1797u32);
pub const rustc_private: Symbol = Symbol::new(1798u32);
pub const rustc_proc_macro_decls: Symbol = Symbol::new(1799u32);
pub const rustc_promotable: Symbol = Symbol::new(1800u32);
pub const rustc_pub_transparent: Symbol = Symbol::new(1801u32);
pub const rustc_reallocator: Symbol = Symbol::new(1802u32);
pub const rustc_regions: Symbol = Symbol::new(1803u32);
pub const rustc_scalable_vector: Symbol = Symbol::new(1804u32);
pub const rustc_should_not_be_called_on_const_items: Symbol =
Symbol::new(1805u32);
pub const rustc_show_spans: Symbol = Symbol::new(1806u32);
pub const rustc_simd_monomorphize_lane_limit: Symbol =
Symbol::new(1807u32);
pub const rustc_skip_during_method_dispatch: Symbol =
Symbol::new(1808u32);
pub const rustc_specialization_trait: Symbol = Symbol::new(1809u32);
pub const rustc_splat: Symbol = Symbol::new(1810u32);
pub const rustc_std_internal_symbol: Symbol = Symbol::new(1811u32);
pub const rustc_strict_coherence: Symbol = Symbol::new(1812u32);
pub const rustc_test_marker: Symbol = Symbol::new(1813u32);
pub const rustc_then_this_would_need: Symbol = Symbol::new(1814u32);
pub const rustc_trivial_field_reads: Symbol = Symbol::new(1815u32);
pub const rustc_unchecked_type_alias: Symbol = Symbol::new(1816u32);
pub const rustc_unroll: Symbol = Symbol::new(1817u32);
pub const rustdoc: Symbol = Symbol::new(1818u32);
pub const rustdoc_internals: Symbol = Symbol::new(1819u32);
pub const rustdoc_missing_doc_code_examples: Symbol =
Symbol::new(1820u32);
pub const rustdoc_skip_body: Symbol = Symbol::new(1821u32);
pub const rustfmt: Symbol = Symbol::new(1822u32);
pub const rvalue_static_promotion: Symbol = Symbol::new(1823u32);
pub const rvector: Symbol = Symbol::new(1824u32);
pub const rwpi: Symbol = Symbol::new(1825u32);
pub const s32c1i: Symbol = Symbol::new(1826u32);
pub const s390x: Symbol = Symbol::new(1827u32);
pub const s390x_target_feature: Symbol = Symbol::new(1828u32);
pub const s390x_target_feature_vector: Symbol = Symbol::new(1829u32);
pub const safestack: Symbol = Symbol::new(1830u32);
pub const safety: Symbol = Symbol::new(1831u32);
pub const sanitize: Symbol = Symbol::new(1832u32);
pub const sanitizer_cfi_generalize_pointers: Symbol =
Symbol::new(1833u32);
pub const sanitizer_cfi_normalize_integers: Symbol = Symbol::new(1834u32);
pub const sanitizer_runtime: Symbol = Symbol::new(1835u32);
pub const saturating_add: Symbol = Symbol::new(1836u32);
pub const saturating_sub: Symbol = Symbol::new(1837u32);
pub const sdylib: Symbol = Symbol::new(1838u32);
pub const search_unbox: Symbol = Symbol::new(1839u32);
pub const section: Symbol = Symbol::new(1840u32);
pub const select_unpredictable: Symbol = Symbol::new(1841u32);
pub const self_in_typedefs: Symbol = Symbol::new(1842u32);
pub const self_struct_ctor: Symbol = Symbol::new(1843u32);
pub const semiopaque: Symbol = Symbol::new(1844u32);
pub const sgpr32: Symbol = Symbol::new(1845u32);
pub const sgpr64: Symbol = Symbol::new(1846u32);
pub const sgpr96: Symbol = Symbol::new(1847u32);
pub const sgpr128: Symbol = Symbol::new(1848u32);
pub const sgpr256: Symbol = Symbol::new(1849u32);
pub const sgpr512: Symbol = Symbol::new(1850u32);
pub const sha2: Symbol = Symbol::new(1851u32);
pub const sha3: Symbol = Symbol::new(1852u32);
pub const sha512_sm_x86: Symbol = Symbol::new(1853u32);
pub const shadow_call_stack: Symbol = Symbol::new(1854u32);
pub const shallow: Symbol = Symbol::new(1855u32);
pub const shl: Symbol = Symbol::new(1856u32);
pub const shl_assign: Symbol = Symbol::new(1857u32);
pub const shorter_tail_lifetimes: Symbol = Symbol::new(1858u32);
pub const should_not_be_called_on_const_items: Symbol =
Symbol::new(1859u32);
pub const should_panic: Symbol = Symbol::new(1860u32);
pub const show: Symbol = Symbol::new(1861u32);
pub const shr: Symbol = Symbol::new(1862u32);
pub const shr_assign: Symbol = Symbol::new(1863u32);
pub const signed: Symbol = Symbol::new(1864u32);
pub const simd: Symbol = Symbol::new(1865u32);
pub const simd_add: Symbol = Symbol::new(1866u32);
pub const simd_and: Symbol = Symbol::new(1867u32);
pub const simd_arith_offset: Symbol = Symbol::new(1868u32);
pub const simd_as: Symbol = Symbol::new(1869u32);
pub const simd_bitmask: Symbol = Symbol::new(1870u32);
pub const simd_bitreverse: Symbol = Symbol::new(1871u32);
pub const simd_bswap: Symbol = Symbol::new(1872u32);
pub const simd_carryless_mul: Symbol = Symbol::new(1873u32);
pub const simd_cast: Symbol = Symbol::new(1874u32);
pub const simd_cast_ptr: Symbol = Symbol::new(1875u32);
pub const simd_ceil: Symbol = Symbol::new(1876u32);
pub const simd_ctlz: Symbol = Symbol::new(1877u32);
pub const simd_ctpop: Symbol = Symbol::new(1878u32);
pub const simd_cttz: Symbol = Symbol::new(1879u32);
pub const simd_div: Symbol = Symbol::new(1880u32);
pub const simd_eq: Symbol = Symbol::new(1881u32);
pub const simd_expose_provenance: Symbol = Symbol::new(1882u32);
pub const simd_extract: Symbol = Symbol::new(1883u32);
pub const simd_extract_dyn: Symbol = Symbol::new(1884u32);
pub const simd_fabs: Symbol = Symbol::new(1885u32);
pub const simd_fcos: Symbol = Symbol::new(1886u32);
pub const simd_fexp: Symbol = Symbol::new(1887u32);
pub const simd_fexp2: Symbol = Symbol::new(1888u32);
pub const simd_ffi: Symbol = Symbol::new(1889u32);
pub const simd_flog: Symbol = Symbol::new(1890u32);
pub const simd_flog2: Symbol = Symbol::new(1891u32);
pub const simd_flog10: Symbol = Symbol::new(1892u32);
pub const simd_floor: Symbol = Symbol::new(1893u32);
pub const simd_fma: Symbol = Symbol::new(1894u32);
pub const simd_fsin: Symbol = Symbol::new(1895u32);
pub const simd_fsqrt: Symbol = Symbol::new(1896u32);
pub const simd_funnel_shl: Symbol = Symbol::new(1897u32);
pub const simd_funnel_shr: Symbol = Symbol::new(1898u32);
pub const simd_gather: Symbol = Symbol::new(1899u32);
pub const simd_ge: Symbol = Symbol::new(1900u32);
pub const simd_gt: Symbol = Symbol::new(1901u32);
pub const simd_insert: Symbol = Symbol::new(1902u32);
pub const simd_insert_dyn: Symbol = Symbol::new(1903u32);
pub const simd_le: Symbol = Symbol::new(1904u32);
pub const simd_lt: Symbol = Symbol::new(1905u32);
pub const simd_masked_load: Symbol = Symbol::new(1906u32);
pub const simd_masked_store: Symbol = Symbol::new(1907u32);
pub const simd_maximum_number_nsz: Symbol = Symbol::new(1908u32);
pub const simd_minimum_number_nsz: Symbol = Symbol::new(1909u32);
pub const simd_mul: Symbol = Symbol::new(1910u32);
pub const simd_ne: Symbol = Symbol::new(1911u32);
pub const simd_neg: Symbol = Symbol::new(1912u32);
pub const simd_or: Symbol = Symbol::new(1913u32);
pub const simd_reduce_add_ordered: Symbol = Symbol::new(1914u32);
pub const simd_reduce_add_unordered: Symbol = Symbol::new(1915u32);
pub const simd_reduce_all: Symbol = Symbol::new(1916u32);
pub const simd_reduce_and: Symbol = Symbol::new(1917u32);
pub const simd_reduce_any: Symbol = Symbol::new(1918u32);
pub const simd_reduce_max: Symbol = Symbol::new(1919u32);
pub const simd_reduce_min: Symbol = Symbol::new(1920u32);
pub const simd_reduce_mul_ordered: Symbol = Symbol::new(1921u32);
pub const simd_reduce_mul_unordered: Symbol = Symbol::new(1922u32);
pub const simd_reduce_or: Symbol = Symbol::new(1923u32);
pub const simd_reduce_xor: Symbol = Symbol::new(1924u32);
pub const simd_relaxed_fma: Symbol = Symbol::new(1925u32);
pub const simd_rem: Symbol = Symbol::new(1926u32);
pub const simd_round: Symbol = Symbol::new(1927u32);
pub const simd_round_ties_even: Symbol = Symbol::new(1928u32);
pub const simd_saturating_add: Symbol = Symbol::new(1929u32);
pub const simd_saturating_sub: Symbol = Symbol::new(1930u32);
pub const simd_scatter: Symbol = Symbol::new(1931u32);
pub const simd_select: Symbol = Symbol::new(1932u32);
pub const simd_select_bitmask: Symbol = Symbol::new(1933u32);
pub const simd_shl: Symbol = Symbol::new(1934u32);
pub const simd_shr: Symbol = Symbol::new(1935u32);
pub const simd_shuffle: Symbol = Symbol::new(1936u32);
pub const simd_shuffle_const_generic: Symbol = Symbol::new(1937u32);
pub const simd_splat: Symbol = Symbol::new(1938u32);
pub const simd_sub: Symbol = Symbol::new(1939u32);
pub const simd_trunc: Symbol = Symbol::new(1940u32);
pub const simd_with_exposed_provenance: Symbol = Symbol::new(1941u32);
pub const simd_xor: Symbol = Symbol::new(1942u32);
pub const sin: Symbol = Symbol::new(1943u32);
pub const since: Symbol = Symbol::new(1944u32);
pub const size: Symbol = Symbol::new(1945u32);
pub const size_of: Symbol = Symbol::new(1946u32);
pub const size_of_type_id: Symbol = Symbol::new(1947u32);
pub const size_of_val: Symbol = Symbol::new(1948u32);
pub const sized: Symbol = Symbol::new(1949u32);
pub const sized_hierarchy: Symbol = Symbol::new(1950u32);
pub const slice: Symbol = Symbol::new(1951u32);
pub const slice_from_raw_parts: Symbol = Symbol::new(1952u32);
pub const slice_from_raw_parts_mut: Symbol = Symbol::new(1953u32);
pub const slice_get_unchecked: Symbol = Symbol::new(1954u32);
pub const slice_len_fn: Symbol = Symbol::new(1955u32);
pub const slice_patterns: Symbol = Symbol::new(1956u32);
pub const slicing_syntax: Symbol = Symbol::new(1957u32);
pub const soft_float: Symbol = Symbol::new(1958u32);
pub const sparc: Symbol = Symbol::new(1959u32);
pub const sparc64: Symbol = Symbol::new(1960u32);
pub const sparc_target_feature: Symbol = Symbol::new(1961u32);
pub const spe_acc: Symbol = Symbol::new(1962u32);
pub const specialization: Symbol = Symbol::new(1963u32);
pub const speed: Symbol = Symbol::new(1964u32);
pub const spirv: Symbol = Symbol::new(1965u32);
pub const splat: Symbol = Symbol::new(1966u32);
pub const splatted_index: Symbol = Symbol::new(1967u32);
pub const spotlight: Symbol = Symbol::new(1968u32);
pub const sqrt: Symbol = Symbol::new(1969u32);
pub const sreg: Symbol = Symbol::new(1970u32);
pub const sreg_low16: Symbol = Symbol::new(1971u32);
pub const sse: Symbol = Symbol::new(1972u32);
pub const sse2: Symbol = Symbol::new(1973u32);
pub const sse4a_target_feature: Symbol = Symbol::new(1974u32);
pub const stable: Symbol = Symbol::new(1975u32);
pub const staged_api: Symbol = Symbol::new(1976u32);
pub const start: Symbol = Symbol::new(1977u32);
pub const state: Symbol = Symbol::new(1978u32);
pub const static_align: Symbol = Symbol::new(1979u32);
pub const static_in_const: Symbol = Symbol::new(1980u32);
pub const static_nobundle: Symbol = Symbol::new(1981u32);
pub const static_recursion: Symbol = Symbol::new(1982u32);
pub const staticlib: Symbol = Symbol::new(1983u32);
pub const std: Symbol = Symbol::new(1984u32);
pub const std_lib_injection: Symbol = Symbol::new(1985u32);
pub const std_panic: Symbol = Symbol::new(1986u32);
pub const std_panic_2015_macro: Symbol = Symbol::new(1987u32);
pub const std_panic_macro: Symbol = Symbol::new(1988u32);
pub const stmt: Symbol = Symbol::new(1989u32);
pub const stmt_expr_attributes: Symbol = Symbol::new(1990u32);
pub const stop_after_dataflow: Symbol = Symbol::new(1991u32);
pub const store: Symbol = Symbol::new(1992u32);
pub const str: Symbol = Symbol::new(1993u32);
pub const str_from_utf8: Symbol = Symbol::new(1994u32);
pub const str_from_utf8_mut: Symbol = Symbol::new(1995u32);
pub const str_from_utf8_unchecked: Symbol = Symbol::new(1996u32);
pub const str_from_utf8_unchecked_mut: Symbol = Symbol::new(1997u32);
pub const str_inherent_from_utf8: Symbol = Symbol::new(1998u32);
pub const str_inherent_from_utf8_mut: Symbol = Symbol::new(1999u32);
pub const str_inherent_from_utf8_unchecked: Symbol = Symbol::new(2000u32);
pub const str_inherent_from_utf8_unchecked_mut: Symbol =
Symbol::new(2001u32);
pub const strict_provenance_lints: Symbol = Symbol::new(2002u32);
pub const string_deref_patterns: Symbol = Symbol::new(2003u32);
pub const stringify: Symbol = Symbol::new(2004u32);
pub const struct_field_attributes: Symbol = Symbol::new(2005u32);
pub const struct_inherit: Symbol = Symbol::new(2006u32);
pub const struct_variant: Symbol = Symbol::new(2007u32);
pub const structural_match: Symbol = Symbol::new(2008u32);
pub const structural_peq: Symbol = Symbol::new(2009u32);
pub const sub: Symbol = Symbol::new(2010u32);
pub const sub_assign: Symbol = Symbol::new(2011u32);
pub const sub_with_overflow: Symbol = Symbol::new(2012u32);
pub const suggestion: Symbol = Symbol::new(2013u32);
pub const super_let: Symbol = Symbol::new(2014u32);
pub const supertrait_item_shadowing: Symbol = Symbol::new(2015u32);
pub const sve: Symbol = Symbol::new(2016u32);
pub const sve_cast: Symbol = Symbol::new(2017u32);
pub const sve_tuple_create2: Symbol = Symbol::new(2018u32);
pub const sve_tuple_create3: Symbol = Symbol::new(2019u32);
pub const sve_tuple_create4: Symbol = Symbol::new(2020u32);
pub const sve_tuple_get: Symbol = Symbol::new(2021u32);
pub const sve_tuple_set: Symbol = Symbol::new(2022u32);
pub const sym: Symbol = Symbol::new(2023u32);
pub const sync: Symbol = Symbol::new(2024u32);
pub const synthetic: Symbol = Symbol::new(2025u32);
pub const t32: Symbol = Symbol::new(2026u32);
pub const target: Symbol = Symbol::new(2027u32);
pub const target_abi: Symbol = Symbol::new(2028u32);
pub const target_arch: Symbol = Symbol::new(2029u32);
pub const target_endian: Symbol = Symbol::new(2030u32);
pub const target_env: Symbol = Symbol::new(2031u32);
pub const target_family: Symbol = Symbol::new(2032u32);
pub const target_feature: Symbol = Symbol::new(2033u32);
pub const target_feature_11: Symbol = Symbol::new(2034u32);
pub const target_feature_inline_always: Symbol = Symbol::new(2035u32);
pub const target_has_atomic: Symbol = Symbol::new(2036u32);
pub const target_has_atomic_load_store: Symbol = Symbol::new(2037u32);
pub const target_has_atomic_primitive_alignment: Symbol =
Symbol::new(2038u32);
pub const target_has_reliable_f16: Symbol = Symbol::new(2039u32);
pub const target_has_reliable_f16_math: Symbol = Symbol::new(2040u32);
pub const target_has_reliable_f16b: Symbol = Symbol::new(2041u32);
pub const target_has_reliable_f128: Symbol = Symbol::new(2042u32);
pub const target_has_reliable_f128_math: Symbol = Symbol::new(2043u32);
pub const target_has_threads: Symbol = Symbol::new(2044u32);
pub const target_object_format: Symbol = Symbol::new(2045u32);
pub const target_os: Symbol = Symbol::new(2046u32);
pub const target_pointer_width: Symbol = Symbol::new(2047u32);
pub const target_thread_local: Symbol = Symbol::new(2048u32);
pub const target_vendor: Symbol = Symbol::new(2049u32);
pub const tbm_target_feature: Symbol = Symbol::new(2050u32);
pub const termination: Symbol = Symbol::new(2051u32);
pub const termination_trait: Symbol = Symbol::new(2052u32);
pub const termination_trait_test: Symbol = Symbol::new(2053u32);
pub const test: Symbol = Symbol::new(2054u32);
pub const test_2018_feature: Symbol = Symbol::new(2055u32);
pub const test_accepted_feature: Symbol = Symbol::new(2056u32);
pub const test_binder_constraints: Symbol = Symbol::new(2057u32);
pub const test_case: Symbol = Symbol::new(2058u32);
pub const test_incomplete_feature: Symbol = Symbol::new(2059u32);
pub const test_removed_feature: Symbol = Symbol::new(2060u32);
pub const test_runner: Symbol = Symbol::new(2061u32);
pub const test_unstable_lint: Symbol = Symbol::new(2062u32);
pub const this: Symbol = Symbol::new(2063u32);
pub const thread: Symbol = Symbol::new(2064u32);
pub const thread_local: Symbol = Symbol::new(2065u32);
pub const threadptr: Symbol = Symbol::new(2066u32);
pub const three_way_compare: Symbol = Symbol::new(2067u32);
pub const thumb2: Symbol = Symbol::new(2068u32);
pub const thumb_mode: Symbol = Symbol::new(2069u32);
pub const time: Symbol = Symbol::new(2070u32);
pub const tmm_reg: Symbol = Symbol::new(2071u32);
pub const to_owned_method: Symbol = Symbol::new(2072u32);
pub const to_string: Symbol = Symbol::new(2073u32);
pub const to_vec: Symbol = Symbol::new(2074u32);
pub const todo_macro: Symbol = Symbol::new(2075u32);
pub const tool_attributes: Symbol = Symbol::new(2076u32);
pub const tool_lints: Symbol = Symbol::new(2077u32);
pub const trace_macros: Symbol = Symbol::new(2078u32);
pub const track_caller: Symbol = Symbol::new(2079u32);
pub const trait_alias: Symbol = Symbol::new(2080u32);
pub const trait_ty: Symbol = Symbol::new(2081u32);
pub const trait_upcasting: Symbol = Symbol::new(2082u32);
pub const transmute: Symbol = Symbol::new(2083u32);
pub const transmute_generic_consts: Symbol = Symbol::new(2084u32);
pub const transmute_opts: Symbol = Symbol::new(2085u32);
pub const transmute_trait: Symbol = Symbol::new(2086u32);
pub const transmute_unchecked: Symbol = Symbol::new(2087u32);
pub const transparent: Symbol = Symbol::new(2088u32);
pub const transparent_enums: Symbol = Symbol::new(2089u32);
pub const transparent_unions: Symbol = Symbol::new(2090u32);
pub const trivial_bounds: Symbol = Symbol::new(2091u32);
pub const trivial_clone: Symbol = Symbol::new(2092u32);
pub const trunc: Symbol = Symbol::new(2093u32);
pub const try_as_dyn: Symbol = Symbol::new(2094u32);
pub const try_blocks: Symbol = Symbol::new(2095u32);
pub const try_blocks_heterogeneous: Symbol = Symbol::new(2096u32);
pub const try_capture: Symbol = Symbol::new(2097u32);
pub const try_from: Symbol = Symbol::new(2098u32);
pub const try_into: Symbol = Symbol::new(2099u32);
pub const try_trait_v2: Symbol = Symbol::new(2100u32);
pub const try_trait_v2_residual: Symbol = Symbol::new(2101u32);
pub const try_update: Symbol = Symbol::new(2102u32);
pub const tt: Symbol = Symbol::new(2103u32);
pub const tuple: Symbol = Symbol::new(2104u32);
pub const tuple_indexing: Symbol = Symbol::new(2105u32);
pub const tuple_trait: Symbol = Symbol::new(2106u32);
pub const two_phase: Symbol = Symbol::new(2107u32);
pub const ty: Symbol = Symbol::new(2108u32);
pub const type_alias_enum_variants: Symbol = Symbol::new(2109u32);
pub const type_alias_impl_trait: Symbol = Symbol::new(2110u32);
pub const type_ascription: Symbol = Symbol::new(2111u32);
pub const type_changing_struct_update: Symbol = Symbol::new(2112u32);
pub const type_id: Symbol = Symbol::new(2113u32);
pub const type_id_array_len: Symbol = Symbol::new(2114u32);
pub const type_id_element_ty: Symbol = Symbol::new(2115u32);
pub const type_id_eq: Symbol = Symbol::new(2116u32);
pub const type_id_field_representing_type: Symbol = Symbol::new(2117u32);
pub const type_id_fields: Symbol = Symbol::new(2118u32);
pub const type_id_function_ptr: Symbol = Symbol::new(2119u32);
pub const type_id_generics: Symbol = Symbol::new(2120u32);
pub const type_id_is_signed: Symbol = Symbol::new(2121u32);
pub const type_id_non_exhaustive: Symbol = Symbol::new(2122u32);
pub const type_id_points_mutably: Symbol = Symbol::new(2123u32);
pub const type_id_points_to: Symbol = Symbol::new(2124u32);
pub const type_id_size_of: Symbol = Symbol::new(2125u32);
pub const type_id_type_of: Symbol = Symbol::new(2126u32);
pub const type_id_variant_name: Symbol = Symbol::new(2127u32);
pub const type_id_variant_non_exhaustive: Symbol = Symbol::new(2128u32);
pub const type_id_variants: Symbol = Symbol::new(2129u32);
pub const type_id_vtable: Symbol = Symbol::new(2130u32);
pub const type_info: Symbol = Symbol::new(2131u32);
pub const type_info_generic: Symbol = Symbol::new(2132u32);
pub const type_ir: Symbol = Symbol::new(2133u32);
pub const type_ir_infer_ctxt_like: Symbol = Symbol::new(2134u32);
pub const type_ir_inherent: Symbol = Symbol::new(2135u32);
pub const type_ir_interner: Symbol = Symbol::new(2136u32);
pub const type_length_limit: Symbol = Symbol::new(2137u32);
pub const type_macros: Symbol = Symbol::new(2138u32);
pub const type_name: Symbol = Symbol::new(2139u32);
pub const type_privacy_lints: Symbol = Symbol::new(2140u32);
pub const typed_swap_nonoverlapping: Symbol = Symbol::new(2141u32);
pub const u8: Symbol = Symbol::new(2142u32);
pub const u8_legacy_const_max: Symbol = Symbol::new(2143u32);
pub const u8_legacy_const_min: Symbol = Symbol::new(2144u32);
pub const u8_legacy_fn_max_value: Symbol = Symbol::new(2145u32);
pub const u8_legacy_fn_min_value: Symbol = Symbol::new(2146u32);
pub const u8_legacy_mod: Symbol = Symbol::new(2147u32);
pub const u16: Symbol = Symbol::new(2148u32);
pub const u16_legacy_const_max: Symbol = Symbol::new(2149u32);
pub const u16_legacy_const_min: Symbol = Symbol::new(2150u32);
pub const u16_legacy_fn_max_value: Symbol = Symbol::new(2151u32);
pub const u16_legacy_fn_min_value: Symbol = Symbol::new(2152u32);
pub const u16_legacy_mod: Symbol = Symbol::new(2153u32);
pub const u32: Symbol = Symbol::new(2154u32);
pub const u32_legacy_const_max: Symbol = Symbol::new(2155u32);
pub const u32_legacy_const_min: Symbol = Symbol::new(2156u32);
pub const u32_legacy_fn_max_value: Symbol = Symbol::new(2157u32);
pub const u32_legacy_fn_min_value: Symbol = Symbol::new(2158u32);
pub const u32_legacy_mod: Symbol = Symbol::new(2159u32);
pub const u64: Symbol = Symbol::new(2160u32);
pub const u64_legacy_const_max: Symbol = Symbol::new(2161u32);
pub const u64_legacy_const_min: Symbol = Symbol::new(2162u32);
pub const u64_legacy_fn_max_value: Symbol = Symbol::new(2163u32);
pub const u64_legacy_fn_min_value: Symbol = Symbol::new(2164u32);
pub const u64_legacy_mod: Symbol = Symbol::new(2165u32);
pub const u128: Symbol = Symbol::new(2166u32);
pub const u128_legacy_const_max: Symbol = Symbol::new(2167u32);
pub const u128_legacy_const_min: Symbol = Symbol::new(2168u32);
pub const u128_legacy_fn_max_value: Symbol = Symbol::new(2169u32);
pub const u128_legacy_fn_min_value: Symbol = Symbol::new(2170u32);
pub const u128_legacy_mod: Symbol = Symbol::new(2171u32);
pub const ub_checks: Symbol = Symbol::new(2172u32);
pub const unaligned_volatile_load: Symbol = Symbol::new(2173u32);
pub const unaligned_volatile_store: Symbol = Symbol::new(2174u32);
pub const unboxed_closures: Symbol = Symbol::new(2175u32);
pub const unchecked_add: Symbol = Symbol::new(2176u32);
pub const unchecked_div: Symbol = Symbol::new(2177u32);
pub const unchecked_funnel_shl: Symbol = Symbol::new(2178u32);
pub const unchecked_funnel_shr: Symbol = Symbol::new(2179u32);
pub const unchecked_mul: Symbol = Symbol::new(2180u32);
pub const unchecked_rem: Symbol = Symbol::new(2181u32);
pub const unchecked_shl: Symbol = Symbol::new(2182u32);
pub const unchecked_shr: Symbol = Symbol::new(2183u32);
pub const unchecked_sub: Symbol = Symbol::new(2184u32);
pub const undecorated: Symbol = Symbol::new(2185u32);
pub const underscore_const_names: Symbol = Symbol::new(2186u32);
pub const underscore_imports: Symbol = Symbol::new(2187u32);
pub const underscore_lifetimes: Symbol = Symbol::new(2188u32);
pub const uniform_paths: Symbol = Symbol::new(2189u32);
pub const unimplemented: Symbol = Symbol::new(2190u32);
pub const unimplemented_macro: Symbol = Symbol::new(2191u32);
pub const unit: Symbol = Symbol::new(2192u32);
pub const universal_impl_trait: Symbol = Symbol::new(2193u32);
pub const unix: Symbol = Symbol::new(2194u32);
pub const unlikely: Symbol = Symbol::new(2195u32);
pub const unmarked_api: Symbol = Symbol::new(2196u32);
pub const unnamed_enum_variants: Symbol = Symbol::new(2197u32);
pub const unnamed_fields: Symbol = Symbol::new(2198u32);
pub const unpin: Symbol = Symbol::new(2199u32);
pub const unqualified_local_imports: Symbol = Symbol::new(2200u32);
pub const unreachable: Symbol = Symbol::new(2201u32);
pub const unreachable_2015: Symbol = Symbol::new(2202u32);
pub const unreachable_2015_macro: Symbol = Symbol::new(2203u32);
pub const unreachable_2021: Symbol = Symbol::new(2204u32);
pub const unreachable_code: Symbol = Symbol::new(2205u32);
pub const unreachable_display: Symbol = Symbol::new(2206u32);
pub const unreachable_macro: Symbol = Symbol::new(2207u32);
pub const unresolved: Symbol = Symbol::new(2208u32);
pub const unrestricted_attribute_tokens: Symbol = Symbol::new(2209u32);
pub const unsafe_attributes: Symbol = Symbol::new(2210u32);
pub const unsafe_binders: Symbol = Symbol::new(2211u32);
pub const unsafe_block_in_unsafe_fn: Symbol = Symbol::new(2212u32);
pub const unsafe_cell: Symbol = Symbol::new(2213u32);
pub const unsafe_cell_raw_get: Symbol = Symbol::new(2214u32);
pub const unsafe_eii: Symbol = Symbol::new(2215u32);
pub const unsafe_extern_blocks: Symbol = Symbol::new(2216u32);
pub const unsafe_fields: Symbol = Symbol::new(2217u32);
pub const unsafe_no_drop_flag: Symbol = Symbol::new(2218u32);
pub const unsafe_pinned: Symbol = Symbol::new(2219u32);
pub const unsafe_unpin: Symbol = Symbol::new(2220u32);
pub const unsize: Symbol = Symbol::new(2221u32);
pub const unsized_const_param_ty: Symbol = Symbol::new(2222u32);
pub const unsized_const_params: Symbol = Symbol::new(2223u32);
pub const unsized_fn_params: Symbol = Symbol::new(2224u32);
pub const unsized_locals: Symbol = Symbol::new(2225u32);
pub const unsized_tuple_coercion: Symbol = Symbol::new(2226u32);
pub const unstable: Symbol = Symbol::new(2227u32);
pub const unstable_feature_bound: Symbol = Symbol::new(2228u32);
pub const unstable_location_reason_default: Symbol = Symbol::new(2229u32);
pub const unstable_removed: Symbol = Symbol::new(2230u32);
pub const untagged_unions: Symbol = Symbol::new(2231u32);
pub const unused_imports: Symbol = Symbol::new(2232u32);
pub const unwind: Symbol = Symbol::new(2233u32);
pub const unwind_attributes: Symbol = Symbol::new(2234u32);
pub const unwind_safe_trait: Symbol = Symbol::new(2235u32);
pub const unwrap: Symbol = Symbol::new(2236u32);
pub const unwrap_or: Symbol = Symbol::new(2237u32);
pub const update: Symbol = Symbol::new(2238u32);
pub const use_cloned: Symbol = Symbol::new(2239u32);
pub const use_extern_macros: Symbol = Symbol::new(2240u32);
pub const use_nested_groups: Symbol = Symbol::new(2241u32);
pub const used: Symbol = Symbol::new(2242u32);
pub const used_with_arg: Symbol = Symbol::new(2243u32);
pub const using: Symbol = Symbol::new(2244u32);
pub const usize: Symbol = Symbol::new(2245u32);
pub const usize_legacy_const_max: Symbol = Symbol::new(2246u32);
pub const usize_legacy_const_min: Symbol = Symbol::new(2247u32);
pub const usize_legacy_fn_max_value: Symbol = Symbol::new(2248u32);
pub const usize_legacy_fn_min_value: Symbol = Symbol::new(2249u32);
pub const usize_legacy_mod: Symbol = Symbol::new(2250u32);
pub const v1: Symbol = Symbol::new(2251u32);
pub const v8plus: Symbol = Symbol::new(2252u32);
pub const v9: Symbol = Symbol::new(2253u32);
pub const va_arg: Symbol = Symbol::new(2254u32);
pub const va_arg_safe: Symbol = Symbol::new(2255u32);
pub const va_copy: Symbol = Symbol::new(2256u32);
pub const va_end: Symbol = Symbol::new(2257u32);
pub const va_list: Symbol = Symbol::new(2258u32);
pub const val: Symbol = Symbol::new(2259u32);
pub const validity: Symbol = Symbol::new(2260u32);
pub const value: Symbol = Symbol::new(2261u32);
pub const values: Symbol = Symbol::new(2262u32);
pub const var: Symbol = Symbol::new(2263u32);
pub const variadic: Symbol = Symbol::new(2264u32);
pub const variant_count: Symbol = Symbol::new(2265u32);
pub const vec: Symbol = Symbol::new(2266u32);
pub const vector: Symbol = Symbol::new(2267u32);
pub const verbatim: Symbol = Symbol::new(2268u32);
pub const version: Symbol = Symbol::new(2269u32);
pub const vfp2: Symbol = Symbol::new(2270u32);
pub const vgpr16: Symbol = Symbol::new(2271u32);
pub const vgpr32: Symbol = Symbol::new(2272u32);
pub const vgpr64: Symbol = Symbol::new(2273u32);
pub const vgpr96: Symbol = Symbol::new(2274u32);
pub const vgpr128: Symbol = Symbol::new(2275u32);
pub const vgpr160: Symbol = Symbol::new(2276u32);
pub const vgpr192: Symbol = Symbol::new(2277u32);
pub const vgpr224: Symbol = Symbol::new(2278u32);
pub const vgpr256: Symbol = Symbol::new(2279u32);
pub const vgpr288: Symbol = Symbol::new(2280u32);
pub const vgpr320: Symbol = Symbol::new(2281u32);
pub const vgpr352: Symbol = Symbol::new(2282u32);
pub const vgpr384: Symbol = Symbol::new(2283u32);
pub const vgpr512: Symbol = Symbol::new(2284u32);
pub const vgpr1024: Symbol = Symbol::new(2285u32);
pub const view_type: Symbol = Symbol::new(2286u32);
pub const view_types: Symbol = Symbol::new(2287u32);
pub const vis: Symbol = Symbol::new(2288u32);
pub const visible_private_types: Symbol = Symbol::new(2289u32);
pub const volatile: Symbol = Symbol::new(2290u32);
pub const volatile_copy_memory: Symbol = Symbol::new(2291u32);
pub const volatile_copy_nonoverlapping_memory: Symbol =
Symbol::new(2292u32);
pub const volatile_load: Symbol = Symbol::new(2293u32);
pub const volatile_set_memory: Symbol = Symbol::new(2294u32);
pub const volatile_store: Symbol = Symbol::new(2295u32);
pub const vreg: Symbol = Symbol::new(2296u32);
pub const vreg_low16: Symbol = Symbol::new(2297u32);
pub const vreg_pair: Symbol = Symbol::new(2298u32);
pub const vsreg: Symbol = Symbol::new(2299u32);
pub const vsx: Symbol = Symbol::new(2300u32);
pub const vtable_align: Symbol = Symbol::new(2301u32);
pub const vtable_size: Symbol = Symbol::new(2302u32);
pub const warn: Symbol = Symbol::new(2303u32);
pub const warnings: Symbol = Symbol::new(2304u32);
pub const wasip2: Symbol = Symbol::new(2305u32);
pub const wasm: Symbol = Symbol::new(2306u32);
pub const wasm32: Symbol = Symbol::new(2307u32);
pub const wasm64: Symbol = Symbol::new(2308u32);
pub const wasm_abi: Symbol = Symbol::new(2309u32);
pub const wasm_import_module: Symbol = Symbol::new(2310u32);
pub const wasm_target_feature: Symbol = Symbol::new(2311u32);
pub const weak: Symbol = Symbol::new(2312u32);
pub const weak_odr: Symbol = Symbol::new(2313u32);
pub const where_clause_attrs: Symbol = Symbol::new(2314u32);
pub const while_let: Symbol = Symbol::new(2315u32);
pub const whole_dash_archive: Symbol = Symbol::new(2316u32);
pub const width: Symbol = Symbol::new(2317u32);
pub const windowed: Symbol = Symbol::new(2318u32);
pub const windows: Symbol = Symbol::new(2319u32);
pub const windows_subsystem: Symbol = Symbol::new(2320u32);
pub const with_negative_coherence: Symbol = Symbol::new(2321u32);
pub const wrapping_add: Symbol = Symbol::new(2322u32);
pub const wrapping_div: Symbol = Symbol::new(2323u32);
pub const wrapping_mul: Symbol = Symbol::new(2324u32);
pub const wrapping_rem: Symbol = Symbol::new(2325u32);
pub const wrapping_rem_euclid: Symbol = Symbol::new(2326u32);
pub const wrapping_sub: Symbol = Symbol::new(2327u32);
pub const wreg: Symbol = Symbol::new(2328u32);
pub const write_box_via_move: Symbol = Symbol::new(2329u32);
pub const write_bytes: Symbol = Symbol::new(2330u32);
pub const write_fmt: Symbol = Symbol::new(2331u32);
pub const write_macro: Symbol = Symbol::new(2332u32);
pub const write_str: Symbol = Symbol::new(2333u32);
pub const write_via_move: Symbol = Symbol::new(2334u32);
pub const writeln_macro: Symbol = Symbol::new(2335u32);
pub const x86: Symbol = Symbol::new(2336u32);
pub const x86_64: Symbol = Symbol::new(2337u32);
pub const x86_amx_intrinsics: Symbol = Symbol::new(2338u32);
pub const x87_reg: Symbol = Symbol::new(2339u32);
pub const x87_target_feature: Symbol = Symbol::new(2340u32);
pub const xcoff: Symbol = Symbol::new(2341u32);
pub const xer: Symbol = Symbol::new(2342u32);
pub const xloop: Symbol = Symbol::new(2343u32);
pub const xmm_reg: Symbol = Symbol::new(2344u32);
pub const xop_target_feature: Symbol = Symbol::new(2345u32);
pub const xreg: Symbol = Symbol::new(2346u32);
pub const xtensa: Symbol = Symbol::new(2347u32);
pub const xtensa_target_feature: Symbol = Symbol::new(2348u32);
pub const yeet_desugar_details: Symbol = Symbol::new(2349u32);
pub const yeet_expr: Symbol = Symbol::new(2350u32);
pub const yes: Symbol = Symbol::new(2351u32);
pub const yield_expr: Symbol = Symbol::new(2352u32);
pub const ymm_reg: Symbol = Symbol::new(2353u32);
pub const yreg: Symbol = Symbol::new(2354u32);
pub const zca: Symbol = Symbol::new(2355u32);
pub const zfh: Symbol = Symbol::new(2356u32);
pub const zfhmin: Symbol = Symbol::new(2357u32);
pub const zmm_reg: Symbol = Symbol::new(2358u32);
pub const ztso: Symbol = Symbol::new(2359u32);
pub const env_CFG_RELEASE: Symbol = Symbol::new(2422u32);
}
impl Interner {
#[doc =
r" Creates an `Interner` with the predefined symbols from the `symbols!` macro and"]
#[doc = r" any extra symbols provided by external drivers such as Clippy"]
pub(crate) fn with_extra_symbols(extra_symbols: &[&'static str]) -> Self {
Interner::prefill(&["$crate", "{{root}}", "_", "as", "break", "const",
"continue", "crate", "else", "enum", "extern", "false",
"fn", "for", "if", "impl", "in", "let", "loop", "match",
"mod", "move", "mut", "pub", "ref", "return", "self",
"Self", "static", "struct", "super", "trait", "true",
"type", "unsafe", "use", "where", "while", "abstract",
"become", "box", "do", "final", "macro", "override", "priv",
"typeof", "unsized", "virtual", "yield", "async", "await",
"dyn", "gen", "try", "'static", "'_", "auto", "catch",
"contract_ensures", "contract_requires", "default", "deref",
"field_of", "macro_rules", "offset_of", "pin", "raw",
"reuse", "safe", "type_ascribe", "union", "unwrap_binder",
"wrap_binder", "yeet", "Abi", "AcqRel", "Acquire", "Active",
"ActiveOnly", "Alignment", "Arc", "ArcWeak", "Array",
"ArrayToPointer", "AsMut", "AsRef", "AssertParamIsClone",
"AssertParamIsCopy", "AssertParamIsEq", "AsyncGenFinished",
"AsyncGenPending", "AsyncGenReady", "Atomic", "BTreeMap",
"Bool", "Borrow", "BorrowMut", "BoxDerefTransmute", "Break",
"BuildHasher", "CStr", "CallOnceFuture", "CallRefFuture",
"Capture", "Cell", "Char", "Cleanup", "Client", "Clone",
"ClosureFnPointer", "CoercePointee",
"CoercePointeeValidated", "CoerceShared", "CoerceUnsized",
"Const", "ConstParamTy", "ConstParamTy_", "Context",
"Continue", "ControlFlow", "Copy", "Cow", "Debug",
"Default", "Deref", "DispatchFromDyn", "Display",
"DropGuard", "Dual", "DualOnly", "Dualv", "DualvOnly",
"Duplicated", "DuplicatedOnly", "DynTrait", "Enum", "Eq",
"Equal", "Err", "ExitCode", "ExternC", "ExternRust",
"Float", "FloatToFloat", "FloatToInt", "FmtArgumentsNew",
"Fn", "FnMut", "FnOnce", "FnPtr", "FnPtrToPtr", "Formatter",
"Forward", "From", "FromIterator", "FromResidual",
"GenericTypeVisitable", "GlobalAlloc", "Hash", "HashMap",
"HashSet", "Hasher", "InCleanup", "IndexOutput", "Input",
"Int", "IntToFloat", "IntToInt", "Into",
"IntoAsyncIterator", "IntoFuture", "IntoIterator",
"IntoIteratorItem", "IoBufReader", "IrTyKind", "Item",
"Iterator", "IteratorItem", "IteratorMap", "Layout",
"Lifetime", "LintPass", "LocalKey", "MutToConstPointer",
"Mutex", "MutexGuard", "Named", "NonZero", "None", "Normal",
"Ok", "Option", "Ord", "Ordering", "Other", "Output",
"ParamSet", "PartialEq", "PartialOrd", "Pending",
"PinDerefMutHelper", "PinMacroHelper", "Pointer",
"PointerCoercion", "PointerExposeProvenance",
"PointerWithExposedProvenance", "Poll", "PtrToPtr", "Range",
"RangeCopy", "RangeFrom", "RangeFromCopy", "RangeFull",
"RangeInclusive", "RangeInclusiveCopy", "RangeMax",
"RangeMin", "RangeSub", "RangeTo", "RangeToInclusive",
"RangeToInclusiveCopy", "Rc", "RcWeak", "Ready", "Reborrow",
"RefCell", "Reference", "ReifyFnPointer", "Relaxed",
"Release", "Result", "ResumeTy", "Reverse", "Rust",
"RustEmbed", "RustaceansAreAwesome", "RwLock",
"RwLockReadGuard", "RwLockWriteGuard", "Safe", "Safety",
"SelfTy", "Send", "SeqCst", "ShouldPanic", "Sized", "Slice",
"SliceIndex", "Some", "Source", "StdinLock", "Str",
"String", "Struct", "StructuralPartialEq", "Subtype",
"SymbolIntern", "Sync", "SyncUnsafeCell", "Target",
"TestType", "This", "TokenStream", "Transmute",
"TrivialClone", "Try", "TryCaptureGeneric",
"TryCapturePrintable", "TryFrom", "TryInto", "Tuple", "Ty",
"TyCtxt", "TyKind", "Type", "TypeVisitable", "Union",
"Unsafe", "UnsafeFnPointer", "Unsize", "UnsizePointee",
"Vec", "Wrapper", "_DECLS", "__H", "__S", "__awaitee",
"__ensures_checker", "__ret", "__try_var", "_t",
"_task_context", "a32", "aarch64", "aarch64_target_feature",
"aarch64_unstable_target_feature",
"aarch64_ver_target_feature", "abi", "abi_amdgpu_kernel",
"abi_avr_interrupt", "abi_c_cmse_nonsecure_call",
"abi_cmse_nonsecure_call", "abi_custom", "abi_efiapi",
"abi_gpu_kernel", "abi_msp430_interrupt", "abi_ptx",
"abi_riscv_interrupt", "abi_swift", "abi_sysv64",
"abi_thiscall", "abi_unadjusted", "abi_vectorcall",
"abi_x86_interrupt", "abort", "abort_immediate", "add",
"add_assign", "add_with_overflow", "address",
"adt_const_params", "advanced_slice_patterns",
"adx_target_feature", "aes", "aggregate_raw_ptr", "alias",
"align", "align_of", "align_of_val", "alignment", "all",
"alloc", "alloc_error_handler", "alloc_layout",
"alloc_zeroed", "allocator", "allocator_internals", "allow",
"allow_fail", "allow_internal_unsafe",
"allow_internal_unstable", "altivec", "alu32", "always",
"ambiguity", "amdgpu", "amdgpu_dispatch_ptr", "analysis",
"and", "and_then", "anon", "anon_assoc",
"anonymous_lifetime_in_impl_trait", "any",
"apx_target_feature", "arbitrary_enum_discriminant",
"arbitrary_self_types", "arbitrary_self_types_pointers",
"areg", "args", "arith_offset", "arm", "arm64ec",
"arm::a32", "arm::t32", "arm_target_feature", "array",
"as-needed", "as_ptr", "as_ref", "asm", "asm_cfg",
"asm_const", "asm_const_ptr", "asm_experimental_arch",
"asm_experimental_reg", "asm_goto", "asm_goto_with_outputs",
"asm_sym", "asm_unwind", "assert", "assert_eq",
"assert_eq_macro", "assert_fields_are_eq",
"assert_inhabited", "assert_macro",
"assert_mem_uninitialized_valid", "assert_ne_macro",
"assert_receiver_is_total_eq", "assert_zero_valid",
"asserting", "associated_const_equality",
"associated_consts", "associated_type_bounds",
"associated_type_defaults", "associated_types", "assume",
"assume_init", "*", "async_await", "async_call",
"async_call_mut", "async_call_once", "async_closure",
"async_drop", "async_drop_in_place", "async_fn",
"async_fn_in_dyn_trait", "async_fn_in_trait",
"async_fn_kind_helper", "async_fn_kind_upvars",
"async_fn_mut", "async_fn_once", "async_fn_once_output",
"async_fn_track_caller", "async_fn_traits",
"async_for_loop", "async_gen_internals", "async_iterator",
"async_iterator_poll_next", "async_trait_bounds", "atomic",
"atomic_and", "atomic_cxchg", "atomic_cxchgweak",
"atomic_fence", "atomic_load", "atomic_max", "atomic_min",
"atomic_nand", "atomic_or", "atomic_singlethreadfence",
"atomic_store", "atomic_umax", "atomic_umin", "atomic_xadd",
"atomic_xchg", "atomic_xor", "atomic_xsub", "atomics",
"att_syntax", "attr", "attr_literals", "attribute",
"attributes", "audit_that", "augmented_assignments",
"auto_cfg", "auto_traits", "autodiff", "autodiff_forward",
"autodiff_reverse", "automatically_derived",
"available_externally", "avr", "avr_target_feature", "avx",
"avx10_target_feature", "avx512_target_feature", "avx512bw",
"avx512f", "await_macro", "backchain", "backend_repr",
"begin_panic", "bench", "bevy_ecs", "bikeshed",
"bikeshed_guaranteed_no_drop", "bin",
"bind_by_move_pattern_guards", "bindings_after_at",
"bitand", "bitand_assign", "bitor", "bitor_assign",
"bitreverse", "bits", "bitxor", "bitxor_assign",
"bivariant", "black_box", "block", "blocking", "bool",
"borrowck_graphviz_format", "borrowck_graphviz_postflow",
"box_new", "box_patterns", "box_syntax", "boxed_slice",
"bpf", "bpf_target_feature", "braced_empty_structs",
"branch", "breakpoint", "breg", "bridge", "bswap", "built",
"bundle", "c_dash_variadic", "c_str_literals", "c_unwind",
"c_variadic", "c_variadic_experimental_arch",
"c_variadic_naked_functions", "c_void", "call", "call_mut",
"call_once", "call_once_future", "call_ref_future",
"caller", "caller_location", "capture_disjoint_fields",
"carrying_mul_add", "carryless_mul", "catch_unwind",
"cause", "cdylib", "ceil", "cfg", "cfg_accessible",
"cfg_attr", "cfg_attr_multi", "cfg_boolean_literals",
"cfg_contract_checks", "cfg_doctest", "cfg_eval",
"cfg_overflow_checks", "cfg_panic", "cfg_relocation_model",
"cfg_sanitize", "cfg_sanitizer_cfi", "cfg_select",
"cfg_target_abi", "cfg_target_compact",
"cfg_target_feature", "cfg_target_has_atomic",
"cfg_target_has_atomic_equal_alignment",
"cfg_target_has_reliable_f16_f128",
"cfg_target_has_reliable_f16b", "cfg_target_has_threads",
"cfg_target_object_format", "cfg_target_thread_local",
"cfg_target_vendor", "cfg_ub_checks", "cfg_version", "cfi",
"cfi_encoding", "char", "checked_type_aliases",
"clflushopt_target_feature", "client", "clippy",
"clobber_abi", "clone", "clone_closures", "clone_fn",
"clone_from", "clone_from_fn", "close_fn", "closure",
"closure_lifetime_binder", "closure_to_fn_coercion",
"closure_track_caller", "cmp", "cmp_ord_max", "cmp_ord_min",
"cmp_partialeq_eq", "cmp_partialeq_ne",
"cmp_partialord_cmp", "cmp_partialord_ge",
"cmp_partialord_gt", "cmp_partialord_le",
"cmp_partialord_lt", "cmpxchg16b_target_feature",
"cmse_nonsecure_entry", "code", "codeview_annotation",
"coerce_pointee_validated", "coerce_shared",
"coerce_shared_target", "coerce_unsized", "coff", "cold",
"cold_path", "collapse_debuginfo", "color", "column",
"compare_bytes", "compare_exchange",
"compare_exchange_weak", "compile_error", "compiler",
"compiler_builtins", "compiler_copy", "compiler_fence",
"compiler_move", "complex", "concat", "concat_bytes",
"concat_str", "conservative_impl_trait", "console",
"const_allocate", "const_async_blocks", "const_block_items",
"const_c_variadic", "const_closures",
"const_compare_raw_pointers", "const_constructor",
"const_continue", "const_deallocate", "const_destruct",
"const_eval_limit", "const_eval_select",
"const_evaluatable_checked", "const_extern_fn", "const_fn",
"const_fn_floating_point_arithmetic",
"const_fn_fn_ptr_basics", "const_fn_trait_bound",
"const_fn_transmute", "const_fn_union", "const_fn_unsize",
"const_for", "const_format_args", "const_generics",
"const_generics_defaults", "const_if_match",
"const_impl_trait", "const_in_array_repeat_expressions",
"const_indexing", "const_let", "const_loop",
"const_make_global", "const_mut_refs", "const_panic",
"const_panic_fmt", "const_param_ty",
"const_param_ty_unchecked", "const_precise_live_drops",
"const_ptr_cast", "const_raw_ptr_deref",
"const_raw_ptr_to_usize_cast", "const_refs_to_cell",
"const_refs_to_static", "const_trait_bound_opt_out",
"const_trait_impl", "const_try", "<const_ty>", "constant",
"constructor", "contract_build_check_ensures",
"contract_check_ensures", "contract_check_requires",
"contract_checks", "contracts", "contracts_ensures",
"contracts_internals", "contracts_requires",
"contravariant", "convert", "coprocessor", "copy",
"copy_closures", "copy_nonoverlapping", "copysignf16",
"copysignf32", "copysignf64", "copysignf128", "core",
"core_panic", "core_panic_2015_macro", "core_panic_macro",
"coroutine", "coroutine_clone", "coroutine_resume",
"coroutine_return", "coroutine_state", "coroutine_yield",
"coroutines", "cos", "count", "covariant",
"covariant_unsafe_cell", "coverage", "coverage_attribute",
"cr", "crate_in_paths", "crate_local", "crate_name",
"crate_type", "crate_visibility_modifier", "crt-static",
"csky", "csky_target_feature", "cstr_type", "cstring_type",
"ctlz", "ctlz_nonzero", "ctpop", "ctr", "cttz",
"cttz_nonzero", "custom_attribute",
"custom_code_classes_in_docs", "custom_derive",
"custom_inner_attributes", "custom_mir",
"custom_test_frameworks", "d32", "dead_code",
"dead_code_pub_in_binary", "dealloc", "debug",
"debug_assert_eq_macro", "debug_assert_macro",
"debug_assert_ne_macro", "debug_assertions",
"debug_c_like_enum_write_str", "debug_struct_fields_finish",
"debugger_visualizer", "decl_macro", "declare_lint_pass",
"decorated", "default_alloc_error_handler",
"default_field_values", "default_fn",
"default_lib_allocator", "default_trait1", "default_trait2",
"default_trait3", "default_trait4",
"default_type_parameter_fallback", "default_type_params",
"define_opaque", "deny", "deprecated", "deprecated_safe",
"deprecated_suggestion", "deref_method", "deref_mut",
"deref_patterns", "deref_pure", "deref_target", "derive",
"derive_const", "derive_default_enum", "derive_from",
"derive_smart_pointer", "destruct",
"destructuring_assignment", "diagnostic",
"diagnostic_namespace", "diagnostic_on_const",
"diagnostic_on_move", "diagnostic_on_type_error",
"diagnostic_on_unknown", "diagnostic_on_unmatch_args",
"diagnostic_on_unmatched_args", "diagnostic_opaque",
"dialect", "direct", "discriminant_kind",
"discriminant_type", "discriminant_value", "disjoint_bitor",
"dispatch_from_dyn", "div", "div_assign",
"diverging_block_default", "dl", "do_not_recommend", "doc",
"doc_alias", "doc_auto_cfg", "doc_cfg", "doc_cfg_hide",
"doc_keyword", "doc_masked", "doc_notable_trait",
"doc_primitive", "doc_spotlight", "doctest",
"dotdot_in_tuple_patterns", "dotdoteq_in_patterns", "dreg",
"dreg_low8", "dreg_low16", "dret", "drop", "drop_glue",
"drop_in_place", "drop_types_in_const", "dropck_eyepatch",
"dropck_parametricity", "<!dummy!>", "dummy_cgu_name",
"dylib", "dyn_compatible_for_dispatch", "dyn_metadata",
"dyn_star", "dyn_trait", "dynamic-no-pic", "edition_panic",
"effective_target_features", "effects", "eh_personality",
"eii", "eii_declaration", "eii_internals",
"eii_shared_macro", "element_ty", "elf", "", "{}", "[]",
"()", "enable", "end", "entry_nops", "env", "eprint_macro",
"eprintln_macro", "eq", "ergonomic_clones",
"ermsb_target_feature", "exact_div", "except", "exception",
"exception-handling", "exclusive_range_pattern",
"exhaustive_integer_patterns", "exhaustive_patterns",
"existential_type", "exists", "exp", "exp2", "expand1",
"expand2", "expect", "expected", "explicit_extern_abis",
"explicit_generic_args_with_impl_trait",
"explicit_tail_calls", "export_name", "export_stable",
"export-symbols", "expr", "expr_2021",
"expr_fragment_specifier_2024",
"extended_key_value_attributes",
"extended_varargs_abi_support", "extendedl32r",
"extern_absolute_paths", "extern_crate_item_prelude",
"extern_crate_self", "extern_in_paths", "extern_item_impls",
"extern_prelude", "extern_system_varargs", "extern_types",
"extern_weak", "external", "external_doc", "f16", "f16_nan",
"f16b", "f16c_target_feature", "f32", "f32_nan", "f64",
"f64_nan", "f128", "f128_nan", "fabs", "fadd_algebraic",
"fadd_fast", "fake_variadic", "fallback", "fdiv_algebraic",
"fdiv_fast", "feature", "fence", "🦀", "fetch_update",
"ffi_const", "ffi_pure", "ffi_returns_twice", "ffr",
"field", "field_base", "field_init_shorthand",
"field_offset", "field_projections",
"field_representing_type",
"field_representing_type_actual_type_id",
"field_representing_type_name",
"field_representing_type_offset",
"field_representing_type_raw", "field_type", "fields",
"file", "final_associated_functions",
"float_mul_add_relaxed", "float_to_int_unchecked", "floor",
"fma", "fma4_target_feature", "fmt", "fmt_debug",
"fmul_algebraic", "fmul_fast", "fmuladd", "fn_align",
"fn_body", "fn_delegation", "fn_must_use", "fn_mut",
"fn_once", "fn_once_output", "fn_ptr_as_ptr",
"fn_ptr_from_ptr", "fn_ptr_trait", "fn_static", "forall",
"forbid", "force_target_feature", "forced_keywords",
"forget", "forget_trait", "format_args",
"format_args_capture", "format_args_macro",
"format_args_nl", "format_argument", "format_arguments",
"format_macro", "format_placeholder", "format_unsafe_arg",
"found", "fp", "fpregs", "framework", "freeze",
"freeze_impls", "freg", "frem_algebraic", "frem_fast",
"from", "from_desugaring", "from_iter", "from_output",
"from_residual", "from_size_align_unchecked",
"from_size_alignment_unchecked", "from_str",
"from_str_nonconst", "from_usize", "from_yeet",
"frontmatter", "fsub_algebraic", "fsub_fast", "full",
"function_arg_const_generics", "fundamental",
"fused_iterator", "future_output", "future_trait", "fxsr",
"gca", "gca_adts", "gca_const_items", "gca_macroless_args",
"gca_macroless_items", "gca_min_const_items",
"gdb_script_file", "ge", "gen_blocks", "gen_future",
"generator_clone", "generators", "generic_arg_infer",
"generic_assert", "generic_associated_types",
"generic_associated_types_extended", "generic_const_args",
"generic_const_exprs", "generic_const_items",
"generic_const_parameter_types", "generic_param_attrs",
"generic_pattern_types", "generics", "get_context",
"global_alloc_ty", "global_allocator", "global_asm",
"global_registration", "globs", "gpu-kernel",
"gpu_launch_sized_workgroup_mem", "gt", "guard",
"guard_patterns", "half_open_range_patterns",
"half_open_range_patterns_in_slices", "hash", "hexagon",
"hexagon_target_feature", "hidden", "hide",
"highpriinterrupts", "hint", "homogeneous_aggregate",
"html_favicon_url", "html_logo_url", "html_no_source",
"html_playground_url", "html_root_url", "hvx",
"hvx-length64b", "hvx-length128b", "hwaddress", "i8", "i16",
"i32", "i64", "i128", "i128_type", "ident",
"ident_from_str_and_span", "if_let", "if_let_guard",
"if_let_rescope", "if_while_or_patterns", "ignore",
"immediate-abort", "impl_header_lifetime_elision",
"impl_lint_pass", "impl_restriction",
"impl_trait_in_assoc_type", "impl_trait_in_bindings",
"impl_trait_in_fn_trait_return", "impl_trait_projections",
"implied_by", "import", "import_name_type",
"import_shadowing", "import_trait_associated_functions",
"imported_main", "in_band_lifetimes", "include",
"include_bytes", "include_str", "inclusive_range_syntax",
"incomplete_features", "index", "index_mut",
"infer_outlives_requirements",
"infer_static_outlives_requirements",
"inherent_associated_types", "initial", "inlateout",
"inline", "inline_const", "inline_const_pat", "inout",
"inputs", "instruction_set", "instrument_fn", "integer",
"integer_max", "integer_min", "integral",
"internal_eq_trait_method_impls", "internal_features",
"internal_syntax", "interrupt", "into_async_iter_into_iter",
"into_future", "into_iter", "into_try_type",
"intra_doc_pointers", "intrinsic_fallback_is_spec",
"intrinsics", "invariant", "irrefutable_let_patterns", "is",
"is_auto", "is_splatted", "is_unsafe",
"is_val_statically_known", "isa_attribute", "isize",
"issue", "issue_5723_bootstrap", "issue_tracker_base_url",
"item", "item_context", "item_like_imports", "iter",
"iter_mut", "iterator", "iterator_collect_fn", "kcfi",
"kernel_address", "kernel_hwaddress", "keylocker_x86",
"keyword", "kind", "kreg", "kreg0", "label",
"label_break_value", "lahfsahf_target_feature", "lang",
"lang_items", "large_assignments", "largest_niche", "last",
"lasx", "late_bound_turbofishing", "lateout",
"lazy_normalization_consts", "lazy_type_alias", "le",
"legacy_receiver", "len", "let_chains", "let_else", "lhs",
"lib", "libc", "lifetime", "lifetime_capture_rules_2024",
"lifetimes", "line", "link", "link_arg_attribute",
"link_args", "link_cfg", "link-arg",
"link_enzyme_intrinsics", "link_llvm_intrinsics",
"link_name", "link_ordinal", "link_section", "linkage",
"linker", "linker_info", "linker_messages", "linkonce",
"linkonce_odr", "lint", "lint_reasons", "literal", "little",
"big", "load", "loaded_from_disk", "local",
"local_inner_macros", "log", "log2", "log10", "log_syntax",
"loongarch32", "loongarch64", "loongarch_target_feature",
"loop_break_value", "loop_hints", "loop_match", "lr", "lsx",
"lt", "m68k", "m68k_target_feature", "mac16", "mach-o",
"macro_at_most_once_rep", "macro_attr",
"macro_attributes_in_derive_output", "macro_derive",
"macro_escape", "macro_export", "macro_guard_matcher",
"macro_lifetime_matcher", "macro_literal_matcher",
"macro_metavar_expr", "macro_metavar_expr_concat",
"macro_reexport", "macro_use", "macro_vis_matcher",
"macroless_const_item_generic_const_args",
"macroless_generic_const_args", "macros_in_extern", "main",
"managed_boxes", "manually_drop", "map", "map_err",
"marked_unchecked_type_aliases", "marker",
"marker_trait_attr", "masked", "match_beginning_vert",
"match_default_bindings", "maximum_number_nsz_f16",
"maximum_number_nsz_f32", "maximum_number_nsz_f64",
"maximum_number_nsz_f128", "maximumf16", "maximumf32",
"maximumf64", "maximumf128", "may_dangle", "may_unwind",
"maybe_dangling", "maybe_uninit", "maybe_uninit_uninit",
"maybe_uninit_zeroed", "mem", "mem_align_const",
"mem_discriminant", "mem_drop", "mem_forget",
"mem_size_const", "mem_swap", "mem_uninitialized",
"mem_variant_count", "mem_zeroed", "member_constraints",
"memory", "memtag", "message", "meta", "meta_sized",
"metadata_type", "min_adt_const_params", "min_const_fn",
"min_const_generics", "min_const_unsafe_fn",
"min_exhaustive_patterns", "min_generic_const_args",
"min_specialization", "min_type_alias_impl_trait",
"minimum_number_nsz_f16", "minimum_number_nsz_f32",
"minimum_number_nsz_f64", "minimum_number_nsz_f128",
"minimumf16", "minimumf32", "minimumf64", "minimumf128",
"mips", "mips32r6", "mips64", "mips64r6",
"mips_target_feature", "mir_assume", "mir_basic_block",
"mir_call", "mir_cast", "mir_cast_fn_ptr_safety",
"mir_cast_kind", "mir_cast_ptr_coercion",
"mir_cast_ptr_to_ptr", "mir_cast_transmute",
"mir_cast_unsize", "mir_checked", "mir_debuginfo",
"mir_discriminant", "mir_drop", "mir_field", "mir_goto",
"mir_make_place", "mir_move", "mir_offset",
"mir_ptr_metadata", "mir_return", "mir_return_to",
"mir_set_discriminant", "mir_static", "mir_static_mut",
"mir_storage_dead", "mir_storage_live", "mir_tail_call",
"mir_unreachable", "mir_unwind_cleanup",
"mir_unwind_continue", "mir_unwind_resume",
"mir_unwind_terminate", "mir_unwind_terminate_reason",
"mir_unwind_unreachable", "mir_variant", "miri", "misc",
"miscsr", "mmx_reg", "modifiers", "module", "module_path",
"more_maybe_bounds", "more_qualified_paths",
"more_struct_aliases", "movbe_target_feature",
"movdir64b_target_feature", "movdiri_target_feature",
"move_expr", "move_ref_pattern", "move_size_limit",
"movrs_target_feature", "msa", "msp430", "mul",
"mul_assign", "mul_with_overflow",
"multiple_supertrait_upcastable", "must_not_suspend",
"must_use", "mut_preserve_binding_mode_2024", "mut_ref",
"mut_restriction", "mutable", "naked", "naked_asm",
"naked_functions", "naked_functions_rustic_abi",
"naked_functions_target_feature", "name",
"named_fn_trait_parameters", "names",
"native_link_modifiers", "native_link_modifiers_as_needed",
"native_link_modifiers_bundle",
"native_link_modifiers_verbatim",
"native_link_modifiers_whole_archive", "natvis_file", "ne",
"needs_allocator", "needs_drop", "needs_panic_runtime",
"neg", "negate_unsigned", "negative_bounds",
"negative_impls", "neon", "nested", "never",
"never_patterns", "never_returns_null_ptr", "never_type",
"never_type_fallback", "new", "new_binary", "new_debug",
"new_debug_noop", "new_display", "new_lower_exp",
"new_lower_hex", "new_octal", "new_pointer", "new_range",
"new_unchecked", "new_upper_exp", "new_upper_hex", "next",
"niko", "nll", "no", "no_builtins", "no_core",
"no_coverage", "no_crate_inject", "no_debug",
"no_default_passes", "no_implicit_prelude", "no_inline",
"no_link", "no_main", "no_mangle", "no_sanitize",
"no_stack_check", "no_std", "nomem", "non_ascii_idents",
"non_exhaustive", "non_exhaustive_omitted_patterns_lint",
"non_lifetime_binders", "non_modrs_mods", "non_null",
"nonblocking", "none", "nontemporal_store",
"noop_method_borrow", "noop_method_clone",
"noop_method_deref", "noprefix", "noreturn", "nostack",
"not", "notable_trait", "note", "null", "nvptx64",
"nvptx_target_feature", "object_safe_for_dispatch", "of",
"off", "offload", "offload_get_num_devices",
"offload_kernel", "offload_region", "offset",
"offset_of_enum", "offset_of_nested", "offset_of_slice",
"ok_or_else", "old_name", "omit_gdb_pretty_printer_section",
"on", "on_const", "on_move", "on_type_error",
"on_unimplemented", "on_unknown", "on_unmatched_args",
"opaque", "<opaque>", "ops", "opt_out_copy", "optimize",
"optimize_attribute", "optimized", "optin_builtin_traits",
"option", "option_env", "options", "or", "or_patterns",
"ord_cmp_method", "other", "out", "output",
"overflow_checks", "overlapping_marker_traits", "owned_box",
"packed", "packed_bundled_libs", "panic", "panic_2015",
"panic_2021", "panic_abort", "panic_bounds_check",
"panic_cannot_unwind", "panic_const_add_overflow",
"panic_const_async_fn_resumed",
"panic_const_async_fn_resumed_drop",
"panic_const_async_fn_resumed_panic",
"panic_const_async_gen_fn_resumed",
"panic_const_async_gen_fn_resumed_drop",
"panic_const_async_gen_fn_resumed_panic",
"panic_const_coroutine_resumed",
"panic_const_coroutine_resumed_drop",
"panic_const_coroutine_resumed_panic",
"panic_const_div_by_zero", "panic_const_div_overflow",
"panic_const_gen_fn_none", "panic_const_gen_fn_none_drop",
"panic_const_gen_fn_none_panic", "panic_const_mul_overflow",
"panic_const_neg_overflow", "panic_const_rem_by_zero",
"panic_const_rem_overflow", "panic_const_shl_overflow",
"panic_const_shr_overflow", "panic_const_sub_overflow",
"panic_display", "panic_fmt", "panic_handler", "panic_impl",
"panic_implementation", "panic_in_cleanup", "panic_info",
"panic_invalid_enum_construction", "panic_location",
"panic_misaligned_pointer_dereference", "panic_nounwind",
"panic_null_pointer_dereference",
"panic_null_reference_constructed", "panic_runtime",
"panic_str_2015", "panic_unwind", "panicking",
"param_attrs", "parent_label", "partial_cmp", "partial_ord",
"passes", "pat", "pat_param", "patchable_function_entry",
"path", "pattern_complexity_limit", "pattern_parentheses",
"pattern_type", "pattern_type_range_trait", "pattern_types",
"phantom_data", "phase", "pic", "pie", "pin_drop",
"pin_ergonomics", "pin_v2", "platform_intrinsics", "plugin",
"plugin_registrar", "plugins", "pointee", "pointee_sized",
"pointee_trait", "pointer", "poll", "post-cleanup",
"post-lto", "postfix_match", "powerpc", "powerpc64",
"powerpc_target_feature", "powf", "powi", "ppcf128",
"pre-lto", "precise_capturing",
"precise_capturing_in_traits",
"precise_pointer_size_matching", "predicates",
"pref_align_of", "prefetch_read_data",
"prefetch_read_instruction", "prefetch_write_data",
"prefetch_write_instruction", "prefix_nops", "preg",
"prelude", "prelude_import", "preserves_flags",
"prfchw_target_feature", "prid", "primitive", "print_macro",
"println_macro", "proc-macro", "proc_macro",
"proc_macro_attribute", "proc_macro_derive",
"proc_macro_expr", "proc_macro_gen", "proc_macro_hygiene",
"proc_macro_internals", "proc_macro_mod",
"proc_macro_non_items", "proc_macro_path_invoc",
"profiler_runtime", "ptr", "ptr_cast", "ptr_cast_const",
"ptr_cast_mut", "ptr_const_is_null", "ptr_copy",
"ptr_copy_nonoverlapping", "ptr_drop_in_place",
"ptr_drop_in_place_self", "ptr_from_ref",
"ptr_guaranteed_cmp", "ptr_is_null", "ptr_mask",
"ptr_metadata", "ptr_null", "ptr_null_mut",
"ptr_offset_from", "ptr_offset_from_unsigned", "ptr_read",
"ptr_read_unaligned", "ptr_replace", "ptr_swap",
"ptr_swap_nonoverlapping", "ptr_write", "ptr_write_bytes",
"ptr_write_unaligned", "ptr_write_volatile",
"pub_macro_rules", "pub_restricted", "public", "pure",
"pushpop_unsafe", "qreg", "qreg_low4", "qreg_low8",
"quad_precision_float", "question_mark", "quote",
"range_inclusive_new", "raw-dylib", "raw_dylib",
"raw_dylib_elf", "raw_eq", "raw_identifiers", "raw_ref_op",
"re_rebalance_coherence", "read_via_copy", "readonly",
"realloc", "realtime", "reason", "reborrow", "receiver",
"receiver_target", "recursion_limit",
"reexport_test_harness_main", "ref_pat_eat_one_layer_2024",
"ref_pat_eat_one_layer_2024_structural",
"ref_pat_everywhere", "ref_unwind_safe_trait", "reference",
"reflect", "reg", "reg16", "reg32", "reg64", "reg_abcd",
"reg_addr", "reg_byte", "reg_data", "reg_iw", "reg_nonzero",
"reg_pair", "reg_ptr", "reg_upper", "register_attr",
"register_attribute_tool", "register_lint_tool",
"register_tool", "relaxed_adts", "relaxed_struct_unsize",
"relocation_model", "rem", "rem_assign", "repr", "repr128",
"repr_align", "repr_align_enum", "repr_packed", "repr_simd",
"repr_transparent", "require", "reserve-x18", "residual",
"result", "result_ffi_guarantees", "resumable_breakpoint",
"return_address", "return_position_impl_trait_in_trait",
"return_type_notation", "->", "riscv32", "riscv64",
"riscv_target_feature", "rlib", "ropi", "ropi-rwpi",
"rotate_left", "rotate_right", "round", "round_ties_even",
"rtm_target_feature", "runtime", "rust", "rust_2015",
"rust_2018", "rust_2018_preview", "rust_2021", "rust_2024",
"rust_analyzer", "rust_begin_unwind", "rust_cold_cc",
"rust-call", "rust_eh_personality", "rust_future",
"rust_logo", "rust_out", "rust_preserve_none_cc",
"rust_tail_cc", "rustc", "rustc_abi", "rustc_align",
"rustc_align_static", "rustc_allocator",
"rustc_allocator_zeroed", "rustc_allocator_zeroed_variant",
"rustc_allow_const_fn_unstable",
"rustc_allow_incoherent_impl",
"rustc_allow_lifetime_dependent_specialization",
"rustc_allowed_through_unstable_modules",
"rustc_always_gca", "rustc_assert_variance", "rustc_attrs",
"rustc_autodiff", "rustc_builtin_macro",
"rustc_canonical_symbol", "rustc_capture_analysis",
"rustc_clean", "rustc_coherence_is_core",
"rustc_coinductive", "rustc_comptime", "rustc_confusables",
"rustc_const_stable", "rustc_const_stable_indirect",
"rustc_const_unstable", "rustc_conversion_suggestion",
"rustc_deallocator", "rustc_default_body_unstable",
"rustc_delayed_bug_from_inside_query",
"rustc_deny_explicit_impl", "rustc_deprecated_safe_2024",
"rustc_diagnostic_item", "rustc_diagnostic_macros",
"rustc_diagnostic_opaque", "rustc_do_not_const_check",
"rustc_doc_primitive", "rustc_driver", "rustc_dummy",
"rustc_dump_clauses", "rustc_dump_def_parents",
"rustc_dump_def_path", "rustc_dump_generics",
"rustc_dump_hidden_type_of_opaques",
"rustc_dump_inferred_outlives", "rustc_dump_item_bounds",
"rustc_dump_layout", "rustc_dump_object_lifetime_defaults",
"rustc_dump_symbol_name", "rustc_dump_user_args",
"rustc_dump_variances", "rustc_dump_variances_of_opaques",
"rustc_dump_vtable", "rustc_dyn_incompatible_trait",
"rustc_effective_visibility", "rustc_eii_foreign_item",
"rustc_evaluate_where_clauses", "rustc_expected_cgu_reuse",
"rustc_force_inline", "rustc_has_incoherent_inherent_impls",
"rustc_if_this_changed", "rustc_inherit_overflow_checks",
"rustc_insignificant_dtor", "rustc_intrinsic",
"rustc_intrinsic_const_stable_indirect",
"rustc_legacy_const_generics",
"rustc_lint_opt_deny_field_access", "rustc_lint_opt_ty",
"rustc_lint_query_instability",
"rustc_lint_untracked_query_information",
"rustc_macro_transparency", "rustc_main", "rustc_mir",
"rustc_must_implement_one_of",
"rustc_must_match_exhaustively",
"rustc_no_implicit_autorefs", "rustc_no_implicit_bounds",
"rustc_no_mir_inline", "rustc_no_writable",
"rustc_non_const_trait_method",
"rustc_nonnull_optimization_guaranteed", "rustc_nounwind",
"rustc_objc_class", "rustc_objc_selector",
"rustc_offload_kernel", "rustc_on_unimplemented",
"rustc_panics_when_zero", "rustc_paren_sugar",
"rustc_partition_codegened", "rustc_partition_reused",
"rustc_pass_by_value",
"rustc_pass_indirectly_in_non_rustic_abis", "rustc_peek",
"rustc_peek_liveness", "rustc_peek_maybe_init",
"rustc_peek_maybe_uninit", "rustc_preserve_ub_checks",
"rustc_pretty_live_locals", "rustc_pretty_precise_liveness",
"rustc_pretty_transitive_live_locals", "rustc_private",
"rustc_proc_macro_decls", "rustc_promotable",
"rustc_pub_transparent", "rustc_reallocator",
"rustc_regions", "rustc_scalable_vector",
"rustc_should_not_be_called_on_const_items",
"rustc_show_spans", "rustc_simd_monomorphize_lane_limit",
"rustc_skip_during_method_dispatch",
"rustc_specialization_trait", "rustc_splat",
"rustc_std_internal_symbol", "rustc_strict_coherence",
"rustc_test_marker", "rustc_then_this_would_need",
"rustc_trivial_field_reads", "rustc_unchecked_type_alias",
"rustc_unroll", "rustdoc", "rustdoc_internals",
"rustdoc_missing_doc_code_examples", "rustdoc_skip_body",
"rustfmt", "rvalue_static_promotion", "rvector", "rwpi",
"s32c1i", "s390x", "s390x_target_feature",
"s390x_target_feature_vector", "safestack", "safety",
"sanitize", "sanitizer_cfi_generalize_pointers",
"sanitizer_cfi_normalize_integers", "sanitizer_runtime",
"saturating_add", "saturating_sub", "sdylib",
"search_unbox", "section", "select_unpredictable",
"self_in_typedefs", "self_struct_ctor", "semiopaque",
"sgpr32", "sgpr64", "sgpr96", "sgpr128", "sgpr256",
"sgpr512", "sha2", "sha3", "sha512_sm_x86",
"shadow_call_stack", "shallow", "shl", "shl_assign",
"shorter_tail_lifetimes",
"should_not_be_called_on_const_items", "should_panic",
"show", "shr", "shr_assign", "signed", "simd", "simd_add",
"simd_and", "simd_arith_offset", "simd_as", "simd_bitmask",
"simd_bitreverse", "simd_bswap", "simd_carryless_mul",
"simd_cast", "simd_cast_ptr", "simd_ceil", "simd_ctlz",
"simd_ctpop", "simd_cttz", "simd_div", "simd_eq",
"simd_expose_provenance", "simd_extract",
"simd_extract_dyn", "simd_fabs", "simd_fcos", "simd_fexp",
"simd_fexp2", "simd_ffi", "simd_flog", "simd_flog2",
"simd_flog10", "simd_floor", "simd_fma", "simd_fsin",
"simd_fsqrt", "simd_funnel_shl", "simd_funnel_shr",
"simd_gather", "simd_ge", "simd_gt", "simd_insert",
"simd_insert_dyn", "simd_le", "simd_lt", "simd_masked_load",
"simd_masked_store", "simd_maximum_number_nsz",
"simd_minimum_number_nsz", "simd_mul", "simd_ne",
"simd_neg", "simd_or", "simd_reduce_add_ordered",
"simd_reduce_add_unordered", "simd_reduce_all",
"simd_reduce_and", "simd_reduce_any", "simd_reduce_max",
"simd_reduce_min", "simd_reduce_mul_ordered",
"simd_reduce_mul_unordered", "simd_reduce_or",
"simd_reduce_xor", "simd_relaxed_fma", "simd_rem",
"simd_round", "simd_round_ties_even", "simd_saturating_add",
"simd_saturating_sub", "simd_scatter", "simd_select",
"simd_select_bitmask", "simd_shl", "simd_shr",
"simd_shuffle", "simd_shuffle_const_generic", "simd_splat",
"simd_sub", "simd_trunc", "simd_with_exposed_provenance",
"simd_xor", "sin", "since", "size", "size_of",
"size_of_type_id", "size_of_val", "sized",
"sized_hierarchy", "slice", "slice_from_raw_parts",
"slice_from_raw_parts_mut", "slice_get_unchecked",
"slice_len_fn", "slice_patterns", "slicing_syntax",
"soft-float", "sparc", "sparc64", "sparc_target_feature",
"spe_acc", "specialization", "speed", "spirv", "splat",
"splatted_index", "spotlight", "sqrt", "sreg", "sreg_low16",
"sse", "sse2", "sse4a_target_feature", "stable",
"staged_api", "start", "state", "static_align",
"static_in_const", "static_nobundle", "static_recursion",
"staticlib", "std", "std_lib_injection", "std_panic",
"std_panic_2015_macro", "std_panic_macro", "stmt",
"stmt_expr_attributes", "stop_after_dataflow", "store",
"str", "str_from_utf8", "str_from_utf8_mut",
"str_from_utf8_unchecked", "str_from_utf8_unchecked_mut",
"str_inherent_from_utf8", "str_inherent_from_utf8_mut",
"str_inherent_from_utf8_unchecked",
"str_inherent_from_utf8_unchecked_mut",
"strict_provenance_lints", "string_deref_patterns",
"stringify", "struct_field_attributes", "struct_inherit",
"struct_variant", "structural_match", "structural_peq",
"sub", "sub_assign", "sub_with_overflow", "suggestion",
"super_let", "supertrait_item_shadowing", "sve", "sve_cast",
"sve_tuple_create2", "sve_tuple_create3",
"sve_tuple_create4", "sve_tuple_get", "sve_tuple_set",
"sym", "sync", "synthetic", "t32", "target", "target_abi",
"target_arch", "target_endian", "target_env",
"target_family", "target_feature", "target_feature_11",
"target_feature_inline_always", "target_has_atomic",
"target_has_atomic_load_store",
"target_has_atomic_primitive_alignment",
"target_has_reliable_f16", "target_has_reliable_f16_math",
"target_has_reliable_f16b", "target_has_reliable_f128",
"target_has_reliable_f128_math", "target_has_threads",
"target_object_format", "target_os", "target_pointer_width",
"target_thread_local", "target_vendor",
"tbm_target_feature", "termination", "termination_trait",
"termination_trait_test", "test", "test_2018_feature",
"test_accepted_feature", "test_binder_constraints",
"test_case", "test_incomplete_feature",
"test_removed_feature", "test_runner", "test_unstable_lint",
"this", "thread", "thread_local", "threadptr",
"three_way_compare", "thumb2", "thumb-mode", "time",
"tmm_reg", "to_owned_method", "to_string", "to_vec",
"todo_macro", "tool_attributes", "tool_lints",
"trace_macros", "track_caller", "trait_alias", "trait_ty",
"trait_upcasting", "transmute", "transmute_generic_consts",
"transmute_opts", "transmute_trait", "transmute_unchecked",
"transparent", "transparent_enums", "transparent_unions",
"trivial_bounds", "trivial_clone", "trunc", "try_as_dyn",
"try_blocks", "try_blocks_heterogeneous", "try_capture",
"try_from", "try_into", "try_trait_v2",
"try_trait_v2_residual", "try_update", "tt", "tuple",
"tuple_indexing", "tuple_trait", "two_phase", "ty",
"type_alias_enum_variants", "type_alias_impl_trait",
"type_ascription", "type_changing_struct_update", "type_id",
"type_id_array_len", "type_id_element_ty", "type_id_eq",
"type_id_field_representing_type", "type_id_fields",
"type_id_function_ptr", "type_id_generics",
"type_id_is_signed", "type_id_non_exhaustive",
"type_id_points_mutably", "type_id_points_to",
"type_id_size_of", "type_id_type_of",
"type_id_variant_name", "type_id_variant_non_exhaustive",
"type_id_variants", "type_id_vtable", "type_info",
"type_info_generic", "type_ir", "type_ir_infer_ctxt_like",
"type_ir_inherent", "type_ir_interner", "type_length_limit",
"type_macros", "type_name", "type_privacy_lints",
"typed_swap_nonoverlapping", "u8", "u8_legacy_const_max",
"u8_legacy_const_min", "u8_legacy_fn_max_value",
"u8_legacy_fn_min_value", "u8_legacy_mod", "u16",
"u16_legacy_const_max", "u16_legacy_const_min",
"u16_legacy_fn_max_value", "u16_legacy_fn_min_value",
"u16_legacy_mod", "u32", "u32_legacy_const_max",
"u32_legacy_const_min", "u32_legacy_fn_max_value",
"u32_legacy_fn_min_value", "u32_legacy_mod", "u64",
"u64_legacy_const_max", "u64_legacy_const_min",
"u64_legacy_fn_max_value", "u64_legacy_fn_min_value",
"u64_legacy_mod", "u128", "u128_legacy_const_max",
"u128_legacy_const_min", "u128_legacy_fn_max_value",
"u128_legacy_fn_min_value", "u128_legacy_mod", "ub_checks",
"unaligned_volatile_load", "unaligned_volatile_store",
"unboxed_closures", "unchecked_add", "unchecked_div",
"unchecked_funnel_shl", "unchecked_funnel_shr",
"unchecked_mul", "unchecked_rem", "unchecked_shl",
"unchecked_shr", "unchecked_sub", "undecorated",
"underscore_const_names", "underscore_imports",
"underscore_lifetimes", "uniform_paths", "unimplemented",
"unimplemented_macro", "unit", "universal_impl_trait",
"unix", "unlikely", "unmarked_api", "unnamed_enum_variants",
"unnamed_fields", "unpin", "unqualified_local_imports",
"unreachable", "unreachable_2015", "unreachable_2015_macro",
"unreachable_2021", "unreachable_code",
"unreachable_display", "unreachable_macro", "unresolved",
"unrestricted_attribute_tokens", "unsafe_attributes",
"unsafe_binders", "unsafe_block_in_unsafe_fn",
"unsafe_cell", "unsafe_cell_raw_get", "unsafe_eii",
"unsafe_extern_blocks", "unsafe_fields",
"unsafe_no_drop_flag", "unsafe_pinned", "unsafe_unpin",
"unsize", "unsized_const_param_ty", "unsized_const_params",
"unsized_fn_params", "unsized_locals",
"unsized_tuple_coercion", "unstable",
"unstable_feature_bound",
"this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead?",
"unstable_removed", "untagged_unions", "unused_imports",
"unwind", "unwind_attributes", "unwind_safe_trait",
"unwrap", "unwrap_or", "update", "use_cloned",
"use_extern_macros", "use_nested_groups", "used",
"used_with_arg", "using", "usize", "usize_legacy_const_max",
"usize_legacy_const_min", "usize_legacy_fn_max_value",
"usize_legacy_fn_min_value", "usize_legacy_mod", "v1",
"v8plus", "v9", "va_arg", "va_arg_safe", "va_copy",
"va_end", "va_list", "val", "validity", "value", "values",
"var", "variadic", "variant_count", "vec", "vector",
"verbatim", "version", "vfp2", "vgpr16", "vgpr32", "vgpr64",
"vgpr96", "vgpr128", "vgpr160", "vgpr192", "vgpr224",
"vgpr256", "vgpr288", "vgpr320", "vgpr352", "vgpr384",
"vgpr512", "vgpr1024", "view_type", "view_types", "vis",
"visible_private_types", "volatile", "volatile_copy_memory",
"volatile_copy_nonoverlapping_memory", "volatile_load",
"volatile_set_memory", "volatile_store", "vreg",
"vreg_low16", "vreg_pair", "vsreg", "vsx", "vtable_align",
"vtable_size", "warn", "warnings", "wasip2", "wasm",
"wasm32", "wasm64", "wasm_abi", "wasm_import_module",
"wasm_target_feature", "weak", "weak_odr",
"where_clause_attrs", "while_let", "whole-archive", "width",
"windowed", "windows", "windows_subsystem",
"with_negative_coherence", "wrapping_add", "wrapping_div",
"wrapping_mul", "wrapping_rem", "wrapping_rem_euclid",
"wrapping_sub", "wreg", "write_box_via_move", "write_bytes",
"write_fmt", "write_macro", "write_str", "write_via_move",
"writeln_macro", "x86", "x86_64", "x86_amx_intrinsics",
"x87_reg", "x87_target_feature", "xcoff", "xer", "xloop",
"xmm_reg", "xop_target_feature", "xreg", "xtensa",
"xtensa_target_feature", "yeet_desugar_details",
"yeet_expr", "yes", "yield_expr", "ymm_reg", "yreg", "zca",
"zfh", "zfhmin", "zmm_reg", "ztso", "0", "1", "2", "3", "4",
"5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G",
"H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S",
"T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e",
"f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q",
"r", "s", "t", "u", "v", "w", "x", "y", "z",
"1.102.0-nightly"], extra_symbols)
}
}symbols! {
24 Keywords {
33 DollarCrate: "$crate",
39 PathRoot: "{{root}}",
40 Underscore: "_",
41 As: "as",
47 Break: "break",
48 Const: "const",
49 Continue: "continue",
50 Crate: "crate",
51 Else: "else",
52 Enum: "enum",
53 Extern: "extern",
54 False: "false",
55 Fn: "fn",
56 For: "for",
57 If: "if",
58 Impl: "impl",
59 In: "in",
60 Let: "let",
61 Loop: "loop",
62 Match: "match",
63 Mod: "mod",
64 Move: "move",
65 Mut: "mut",
66 Pub: "pub",
67 Ref: "ref",
68 Return: "return",
69 SelfLower: "self",
70 SelfUpper: "Self",
71 Static: "static",
72 Struct: "struct",
73 Super: "super",
74 Trait: "trait",
75 True: "true",
76 Type: "type",
77 Unsafe: "unsafe",
78 Use: "use",
79 Where: "where",
80 While: "while",
81 Abstract: "abstract",
87 Become: "become",
88 Box: "box",
89 Do: "do",
90 Final: "final",
91 Macro: "macro",
92 Override: "override",
93 Priv: "priv",
94 Typeof: "typeof",
95 Unsized: "unsized",
96 Virtual: "virtual",
97 Yield: "yield",
98 Async: "async", Await: "await", Dyn: "dyn", Gen: "gen", Try: "try", StaticLifetime: "'static",
121 UnderscoreLifetime: "'_",
122 Auto: "auto",
128 Catch: "catch",
129 ContractEnsures: "contract_ensures",
130 ContractRequires: "contract_requires",
131 Default: "default",
132 Deref: "deref",
133 FieldOf: "field_of",
134 MacroRules: "macro_rules",
135 OffsetOf: "offset_of",
136 Pin: "pin",
137 Raw: "raw",
138 Reuse: "reuse",
139 Safe: "safe",
140 TypeAscribe: "type_ascribe",
141 Union: "union",
142 UnwrapBinder: "unwrap_binder",
143 WrapBinder: "wrap_binder",
144 Yeet: "yeet",
145 }
147
148 Symbols {
162 Abi,
164 AcqRel,
165 Acquire,
166 Active,
167 ActiveOnly,
168 Alignment,
169 Arc,
170 ArcWeak,
171 Array,
172 ArrayToPointer,
173 AsMut,
174 AsRef,
175 AssertParamIsClone,
176 AssertParamIsCopy,
177 AssertParamIsEq,
178 AsyncGenFinished,
179 AsyncGenPending,
180 AsyncGenReady,
181 Atomic,
182 BTreeMap,
183 Bool,
184 Borrow,
185 BorrowMut,
186 BoxDerefTransmute,
187 Break,
188 BuildHasher,
189 CStr,
190 CallOnceFuture,
191 CallRefFuture,
192 Capture,
193 Cell,
194 Char,
195 Cleanup,
196 Client,
197 Clone,
198 ClosureFnPointer,
199 CoercePointee,
200 CoercePointeeValidated,
201 CoerceShared,
202 CoerceUnsized,
203 Const,
204 ConstParamTy,
205 ConstParamTy_,
206 Context,
207 Continue,
208 ControlFlow,
209 Copy,
210 Cow,
211 Debug,
212 Default,
213 Deref,
214 DispatchFromDyn,
215 Display,
216 DropGuard,
217 Dual,
218 DualOnly,
219 Dualv,
220 DualvOnly,
221 Duplicated,
222 DuplicatedOnly,
223 DynTrait,
224 Enum,
225 Eq,
226 Equal,
227 Err,
228 ExitCode,
229 ExternC,
230 ExternRust,
231 Float,
232 FloatToFloat,
233 FloatToInt,
234 FmtArgumentsNew,
235 Fn,
236 FnMut,
237 FnOnce,
238 FnPtr,
239 FnPtrToPtr,
240 Formatter,
241 Forward,
242 From,
243 FromIterator,
244 FromResidual,
245 GenericTypeVisitable,
246 GlobalAlloc,
247 Hash,
248 HashMap,
249 HashSet,
250 Hasher,
251 InCleanup,
252 IndexOutput,
253 Input,
254 Int,
255 IntToFloat,
256 IntToInt,
257 Into,
258 IntoAsyncIterator,
259 IntoFuture,
260 IntoIterator,
261 IntoIteratorItem,
262 IoBufReader,
263 IrTyKind,
264 Item,
265 Iterator,
266 IteratorItem,
267 IteratorMap,
268 Layout,
269 Lifetime,
270 LintPass,
271 LocalKey,
272 MutToConstPointer,
273 Mutex,
274 MutexGuard,
275 Named,
276 NonZero,
277 None,
278 Normal,
279 Ok,
280 Option,
281 Ord,
282 Ordering,
283 Other,
284 Output,
285 ParamSet,
286 PartialEq,
287 PartialOrd,
288 Pending,
289 PinDerefMutHelper,
290 PinMacroHelper,
291 Pointer,
292 PointerCoercion,
293 PointerExposeProvenance,
294 PointerWithExposedProvenance,
295 Poll,
296 PtrToPtr,
297 Range,
298 RangeCopy,
299 RangeFrom,
300 RangeFromCopy,
301 RangeFull,
302 RangeInclusive,
303 RangeInclusiveCopy,
304 RangeMax,
305 RangeMin,
306 RangeSub,
307 RangeTo,
308 RangeToInclusive,
309 RangeToInclusiveCopy,
310 Rc,
311 RcWeak,
312 Ready,
313 Reborrow,
314 RefCell,
315 Reference,
316 ReifyFnPointer,
317 Relaxed,
318 Release,
319 Result,
320 ResumeTy,
321 Reverse,
322 Rust,
323 RustEmbed,
325 RustaceansAreAwesome,
326 RwLock,
327 RwLockReadGuard,
328 RwLockWriteGuard,
329 Safe,
330 Safety,
331 SelfTy,
332 Send,
333 SeqCst,
334 ShouldPanic,
335 Sized,
336 Slice,
337 SliceIndex,
338 Some,
339 Source,
340 StdinLock,
341 Str,
342 String,
343 Struct,
344 StructuralPartialEq,
345 Subtype,
346 SymbolIntern,
347 Sync,
348 SyncUnsafeCell,
349 Target,
350 TestType,
351 This,
352 TokenStream,
353 Transmute,
354 TrivialClone,
355 Try,
356 TryCaptureGeneric,
357 TryCapturePrintable,
358 TryFrom,
359 TryInto,
360 Tuple,
361 Ty,
362 TyCtxt,
363 TyKind,
364 Type,
365 TypeVisitable,
366 Union,
367 Unsafe,
368 UnsafeFnPointer,
369 Unsize,
370 UnsizePointee,
371 Vec,
372 Wrapper,
373 _DECLS,
374 __H,
375 __S,
376 __awaitee,
377 __ensures_checker,
378 __ret,
379 __try_var,
380 _t,
381 _task_context,
382 a32,
383 aarch64,
384 aarch64_target_feature,
385 aarch64_unstable_target_feature,
386 aarch64_ver_target_feature,
387 abi,
388 abi_amdgpu_kernel,
389 abi_avr_interrupt,
390 abi_c_cmse_nonsecure_call,
391 abi_cmse_nonsecure_call,
392 abi_custom,
393 abi_efiapi,
394 abi_gpu_kernel,
395 abi_msp430_interrupt,
396 abi_ptx,
397 abi_riscv_interrupt,
398 abi_swift,
399 abi_sysv64,
400 abi_thiscall,
401 abi_unadjusted,
402 abi_vectorcall,
403 abi_x86_interrupt,
404 abort,
405 abort_immediate,
406 add,
407 add_assign,
408 add_with_overflow,
409 address,
410 adt_const_params,
411 advanced_slice_patterns,
412 adx_target_feature,
413 aes,
414 aggregate_raw_ptr,
415 alias,
416 align,
417 align_of,
418 align_of_val,
419 alignment,
420 all,
421 alloc,
422 alloc_error_handler,
423 alloc_layout,
424 alloc_zeroed,
425 allocator,
426 allocator_internals,
427 allow,
428 allow_fail,
429 allow_internal_unsafe,
430 allow_internal_unstable,
431 altivec,
432 alu32,
433 always,
434 ambiguity,
435 amdgpu,
436 amdgpu_dispatch_ptr,
437 analysis,
438 and,
439 and_then,
440 anon,
441 anon_assoc,
442 anonymous_lifetime_in_impl_trait,
443 any,
444 apx_target_feature,
445 arbitrary_enum_discriminant,
446 arbitrary_self_types,
447 arbitrary_self_types_pointers,
448 areg,
449 args,
450 arith_offset,
451 arm,
452 arm64ec,
453 arm_a32: "arm::a32",
454 arm_t32: "arm::t32",
455 arm_target_feature,
456 array,
457 as_dash_needed: "as-needed",
458 as_ptr,
459 as_ref,
460 asm,
461 asm_cfg,
462 asm_const,
463 asm_const_ptr,
464 asm_experimental_arch,
465 asm_experimental_reg,
466 asm_goto,
467 asm_goto_with_outputs,
468 asm_sym,
469 asm_unwind,
470 assert,
471 assert_eq,
472 assert_eq_macro,
473 assert_fields_are_eq,
474 assert_inhabited,
475 assert_macro,
476 assert_mem_uninitialized_valid,
477 assert_ne_macro,
478 assert_receiver_is_total_eq,
479 assert_zero_valid,
480 asserting,
481 associated_const_equality,
482 associated_consts,
483 associated_type_bounds,
484 associated_type_defaults,
485 associated_types,
486 assume,
487 assume_init,
488 asterisk: "*",
489 async_await,
490 async_call,
491 async_call_mut,
492 async_call_once,
493 async_closure,
494 async_drop,
495 async_drop_in_place,
496 async_fn,
497 async_fn_in_dyn_trait,
498 async_fn_in_trait,
499 async_fn_kind_helper,
500 async_fn_kind_upvars,
501 async_fn_mut,
502 async_fn_once,
503 async_fn_once_output,
504 async_fn_track_caller,
505 async_fn_traits,
506 async_for_loop,
507 async_gen_internals,
508 async_iterator,
509 async_iterator_poll_next,
510 async_trait_bounds,
511 atomic,
512 atomic_and,
513 atomic_cxchg,
514 atomic_cxchgweak,
515 atomic_fence,
516 atomic_load,
517 atomic_max,
518 atomic_min,
519 atomic_nand,
520 atomic_or,
521 atomic_singlethreadfence,
522 atomic_store,
523 atomic_umax,
524 atomic_umin,
525 atomic_xadd,
526 atomic_xchg,
527 atomic_xor,
528 atomic_xsub,
529 atomics,
530 att_syntax,
531 attr,
532 attr_literals,
533 attribute,
534 attributes,
535 audit_that,
536 augmented_assignments,
537 auto_cfg,
538 auto_traits,
539 autodiff,
540 autodiff_forward,
541 autodiff_reverse,
542 automatically_derived,
543 available_externally,
544 avr,
545 avr_target_feature,
546 avx,
547 avx10_target_feature,
548 avx512_target_feature,
549 avx512bw,
550 avx512f,
551 await_macro,
552 backchain,
553 backend_repr,
554 begin_panic,
555 bench,
556 bevy_ecs,
557 bikeshed,
558 bikeshed_guaranteed_no_drop,
559 bin,
560 bind_by_move_pattern_guards,
561 bindings_after_at,
562 bitand,
563 bitand_assign,
564 bitor,
565 bitor_assign,
566 bitreverse,
567 bits,
568 bitxor,
569 bitxor_assign,
570 bivariant,
571 black_box,
572 block,
573 blocking,
574 bool,
575 borrowck_graphviz_format,
576 borrowck_graphviz_postflow,
577 box_new,
578 box_patterns,
579 box_syntax,
580 boxed_slice,
581 bpf,
582 bpf_target_feature,
583 braced_empty_structs,
584 branch,
585 breakpoint,
586 breg,
587 bridge,
588 bswap,
589 built,
590 bundle,
591 c_dash_variadic,
592 c_str_literals,
593 c_unwind,
594 c_variadic,
595 c_variadic_experimental_arch,
596 c_variadic_naked_functions,
597 c_void,
598 call,
599 call_mut,
600 call_once,
601 call_once_future,
602 call_ref_future,
603 caller,
604 caller_location,
605 capture_disjoint_fields,
606 carrying_mul_add,
607 carryless_mul,
608 catch_unwind,
609 cause,
610 cdylib,
611 ceil,
612 cfg,
613 cfg_accessible,
614 cfg_attr,
615 cfg_attr_multi,
616 cfg_boolean_literals,
617 cfg_contract_checks,
618 cfg_doctest,
619 cfg_eval,
620 cfg_overflow_checks,
621 cfg_panic,
622 cfg_relocation_model,
623 cfg_sanitize,
624 cfg_sanitizer_cfi,
625 cfg_select,
626 cfg_target_abi,
627 cfg_target_compact,
628 cfg_target_feature,
629 cfg_target_has_atomic,
630 cfg_target_has_atomic_equal_alignment,
631 cfg_target_has_reliable_f16_f128,
632 cfg_target_has_reliable_f16b,
633 cfg_target_has_threads,
634 cfg_target_object_format,
635 cfg_target_thread_local,
636 cfg_target_vendor,
637 cfg_ub_checks,
638 cfg_version,
639 cfi,
640 cfi_encoding,
641 char,
642 checked_type_aliases,
643 clflushopt_target_feature,
644 client,
645 clippy,
646 clobber_abi,
647 clone,
648 clone_closures,
649 clone_fn,
650 clone_from,
651 clone_from_fn,
652 close_fn,
653 closure,
654 closure_lifetime_binder,
655 closure_to_fn_coercion,
656 closure_track_caller,
657 cmp,
658 cmp_ord_max,
659 cmp_ord_min,
660 cmp_partialeq_eq,
661 cmp_partialeq_ne,
662 cmp_partialord_cmp,
663 cmp_partialord_ge,
664 cmp_partialord_gt,
665 cmp_partialord_le,
666 cmp_partialord_lt,
667 cmpxchg16b_target_feature,
668 cmse_nonsecure_entry,
669 code,
670 codeview_annotation,
671 coerce_pointee_validated,
672 coerce_shared,
673 coerce_shared_target,
674 coerce_unsized,
675 coff,
676 cold,
677 cold_path,
678 collapse_debuginfo,
679 color,
680 column,
681 compare_bytes,
682 compare_exchange,
683 compare_exchange_weak,
684 compile_error,
685 compiler,
686 compiler_builtins,
687 compiler_copy,
688 compiler_fence,
689 compiler_move,
690 complex,
691 concat,
692 concat_bytes,
693 concat_str,
694 conservative_impl_trait,
695 console,
696 const_allocate,
697 const_async_blocks,
698 const_block_items,
699 const_c_variadic,
700 const_closures,
701 const_compare_raw_pointers,
702 const_constructor,
703 const_continue,
704 const_deallocate,
705 const_destruct,
706 const_eval_limit,
707 const_eval_select,
708 const_evaluatable_checked,
709 const_extern_fn,
710 const_fn,
711 const_fn_floating_point_arithmetic,
712 const_fn_fn_ptr_basics,
713 const_fn_trait_bound,
714 const_fn_transmute,
715 const_fn_union,
716 const_fn_unsize,
717 const_for,
718 const_format_args,
719 const_generics,
720 const_generics_defaults,
721 const_if_match,
722 const_impl_trait,
723 const_in_array_repeat_expressions,
724 const_indexing,
725 const_let,
726 const_loop,
727 const_make_global,
728 const_mut_refs,
729 const_panic,
730 const_panic_fmt,
731 const_param_ty,
732 const_param_ty_unchecked,
733 const_precise_live_drops,
734 const_ptr_cast,
735 const_raw_ptr_deref,
736 const_raw_ptr_to_usize_cast,
737 const_refs_to_cell,
738 const_refs_to_static,
739 const_trait_bound_opt_out,
740 const_trait_impl,
741 const_try,
742 const_ty_placeholder: "<const_ty>",
743 constant,
744 constructor,
745 contract_build_check_ensures,
746 contract_check_ensures,
747 contract_check_requires,
748 contract_checks,
749 contracts,
750 contracts_ensures,
751 contracts_internals,
752 contracts_requires,
753 contravariant,
754 convert,
755 coprocessor,
756 copy,
757 copy_closures,
758 copy_nonoverlapping,
759 copysignf16,
760 copysignf32,
761 copysignf64,
762 copysignf128,
763 core,
764 core_panic,
765 core_panic_2015_macro,
766 core_panic_macro,
767 coroutine,
768 coroutine_clone,
769 coroutine_resume,
770 coroutine_return,
771 coroutine_state,
772 coroutine_yield,
773 coroutines,
774 cos,
775 count,
776 covariant,
777 covariant_unsafe_cell,
778 coverage,
779 coverage_attribute,
780 cr,
781 crate_in_paths,
782 crate_local,
783 crate_name,
784 crate_type,
785 crate_visibility_modifier,
786 crt_dash_static: "crt-static",
787 csky,
788 csky_target_feature,
789 cstr_type,
790 cstring_type,
791 ctlz,
792 ctlz_nonzero,
793 ctpop,
794 ctr,
795 cttz,
796 cttz_nonzero,
797 custom_attribute,
798 custom_code_classes_in_docs,
799 custom_derive,
800 custom_inner_attributes,
801 custom_mir,
802 custom_test_frameworks,
803 d32,
804 dead_code,
805 dead_code_pub_in_binary,
806 dealloc,
807 debug,
808 debug_assert_eq_macro,
809 debug_assert_macro,
810 debug_assert_ne_macro,
811 debug_assertions,
812 debug_c_like_enum_write_str,
813 debug_struct_fields_finish,
814 debugger_visualizer,
815 decl_macro,
816 declare_lint_pass,
817 decorated,
818 default_alloc_error_handler,
819 default_field_values,
820 default_fn,
821 default_lib_allocator,
822 default_trait1,
827 default_trait2,
828 default_trait3,
829 default_trait4,
830 default_type_parameter_fallback,
832 default_type_params,
833 define_opaque,
834 deny,
835 deprecated,
836 deprecated_safe,
837 deprecated_suggestion,
838 deref_method,
839 deref_mut,
840 deref_patterns,
841 deref_pure,
842 deref_target,
843 derive,
844 derive_const,
845 derive_default_enum,
846 derive_from,
847 derive_smart_pointer,
848 destruct,
849 destructuring_assignment,
850 diagnostic,
851 diagnostic_namespace,
852 diagnostic_on_const,
853 diagnostic_on_move,
854 diagnostic_on_type_error,
855 diagnostic_on_unknown,
856 diagnostic_on_unmatch_args,
857 diagnostic_on_unmatched_args,
858 diagnostic_opaque,
859 dialect,
860 direct,
861 discriminant_kind,
862 discriminant_type,
863 discriminant_value,
864 disjoint_bitor,
865 dispatch_from_dyn,
866 div,
867 div_assign,
868 diverging_block_default,
869 dl,
870 do_not_recommend,
871 doc,
872 doc_alias,
873 doc_auto_cfg,
874 doc_cfg,
875 doc_cfg_hide,
876 doc_keyword,
877 doc_masked,
878 doc_notable_trait,
879 doc_primitive,
880 doc_spotlight,
881 doctest,
882 dotdot_in_tuple_patterns,
883 dotdoteq_in_patterns,
884 dreg,
885 dreg_low8,
886 dreg_low16,
887 dret,
888 drop,
889 drop_glue,
890 drop_in_place,
891 drop_types_in_const,
892 dropck_eyepatch,
893 dropck_parametricity,
894 dummy: "<!dummy!>", dummy_cgu_name,
896 dylib,
897 dyn_compatible_for_dispatch,
898 dyn_metadata,
899 dyn_star,
900 dyn_trait,
901 dynamic_no_pic: "dynamic-no-pic",
902 edition_panic,
903 effective_target_features,
904 effects,
905 eh_personality,
906 eii,
907 eii_declaration,
908 eii_internals,
909 eii_shared_macro,
910 element_ty,
911 elf,
912 empty: "",
920 empty_braces: "{}",
921 empty_brackets: "[]",
922 empty_parens: "()",
923 enable,
924 end,
925 entry_nops,
926 env,
927 env_CFG_RELEASE: env!("CFG_RELEASE"),
928 eprint_macro,
929 eprintln_macro,
930 eq,
931 ergonomic_clones,
932 ermsb_target_feature,
933 exact_div,
934 except,
935 exception,
936 exception_handling: "exception-handling",
937 exclusive_range_pattern,
938 exhaustive_integer_patterns,
939 exhaustive_patterns,
940 existential_type,
941 exists,
942 exp,
943 exp2,
944 expand1,
945 expand2,
946 expect,
947 expected,
948 explicit_extern_abis,
949 explicit_generic_args_with_impl_trait,
950 explicit_tail_calls,
951 export_name,
952 export_stable,
953 export_symbols: "export-symbols",
954 expr,
955 expr_2021,
956 expr_fragment_specifier_2024,
957 extended_key_value_attributes,
958 extended_varargs_abi_support,
959 extendedl32r,
960 extern_absolute_paths,
961 extern_crate_item_prelude,
962 extern_crate_self,
963 extern_in_paths,
964 extern_item_impls,
965 extern_prelude,
966 extern_system_varargs,
967 extern_types,
968 extern_weak,
969 external,
970 external_doc,
971 f16,
972 f16_nan,
973 f16b,
974 f16c_target_feature,
975 f32,
976 f32_nan,
977 f64,
978 f64_nan,
979 f128,
980 f128_nan,
981 fabs,
982 fadd_algebraic,
983 fadd_fast,
984 fake_variadic,
985 fallback,
986 fdiv_algebraic,
987 fdiv_fast,
988 feature,
989 fence,
990 ferris: "🦀",
991 fetch_update,
992 ffi_const,
993 ffi_pure,
994 ffi_returns_twice,
995 ffr,
996 field,
997 field_base,
998 field_init_shorthand,
999 field_offset,
1000 field_projections,
1001 field_representing_type,
1002 field_representing_type_actual_type_id,
1003 field_representing_type_name,
1004 field_representing_type_offset,
1005 field_representing_type_raw,
1006 field_type,
1007 fields,
1008 file,
1009 final_associated_functions,
1010 float_mul_add_relaxed,
1011 float_to_int_unchecked,
1012 floor,
1013 fma,
1014 fma4_target_feature,
1015 fmt,
1016 fmt_debug,
1017 fmul_algebraic,
1018 fmul_fast,
1019 fmuladd,
1020 fn_align,
1021 fn_body,
1022 fn_delegation,
1023 fn_must_use,
1024 fn_mut,
1025 fn_once,
1026 fn_once_output,
1027 fn_ptr_as_ptr,
1028 fn_ptr_from_ptr,
1029 fn_ptr_trait,
1030 fn_static,
1031 forall,
1032 forbid,
1033 force_target_feature,
1034 forced_keywords,
1035 forget,
1036 forget_trait,
1037 format_args,
1038 format_args_capture,
1039 format_args_macro,
1040 format_args_nl,
1041 format_argument,
1042 format_arguments,
1043 format_macro,
1044 format_placeholder,
1045 format_unsafe_arg,
1046 found,
1047 fp,
1048 fpregs,
1049 framework,
1050 freeze,
1051 freeze_impls,
1052 freg,
1053 frem_algebraic,
1054 frem_fast,
1055 from,
1056 from_desugaring,
1057 from_iter,
1058 from_output,
1059 from_residual,
1060 from_size_align_unchecked,
1061 from_size_alignment_unchecked,
1062 from_str,
1063 from_str_nonconst,
1064 from_usize,
1065 from_yeet,
1066 frontmatter,
1067 fsub_algebraic,
1068 fsub_fast,
1069 full,
1070 function_arg_const_generics,
1071 fundamental,
1072 fused_iterator,
1073 future_output,
1074 future_trait,
1075 fxsr,
1076 gca,
1077 gca_adts,
1078 gca_const_items,
1079 gca_macroless_args,
1080 gca_macroless_items,
1081 gca_min_const_items,
1082 gdb_script_file,
1083 ge,
1084 gen_blocks,
1085 gen_future,
1086 generator_clone,
1087 generators,
1088 generic_arg_infer,
1089 generic_assert,
1090 generic_associated_types,
1091 generic_associated_types_extended,
1092 generic_const_args,
1093 generic_const_exprs,
1094 generic_const_items,
1095 generic_const_parameter_types,
1096 generic_param_attrs,
1097 generic_pattern_types,
1098 generics,
1099 get_context,
1100 global_alloc_ty,
1101 global_allocator,
1102 global_asm,
1103 global_registration,
1104 globs,
1105 gpu_kernel: "gpu-kernel",
1106 gpu_launch_sized_workgroup_mem,
1107 gt,
1108 guard,
1109 guard_patterns,
1110 half_open_range_patterns,
1111 half_open_range_patterns_in_slices,
1112 hash,
1113 hexagon,
1114 hexagon_target_feature,
1115 hidden,
1116 hide,
1117 highpriinterrupts,
1118 hint,
1119 homogeneous_aggregate,
1120 html_favicon_url,
1121 html_logo_url,
1122 html_no_source,
1123 html_playground_url,
1124 html_root_url,
1125 hvx,
1126 hvx_length64b: "hvx-length64b",
1127 hvx_length128b: "hvx-length128b",
1128 hwaddress,
1129 i8,
1130 i16,
1131 i32,
1132 i64,
1133 i128,
1134 i128_type,
1135 ident,
1136 ident_from_str_and_span,
1137 if_let,
1138 if_let_guard,
1139 if_let_rescope,
1140 if_while_or_patterns,
1141 ignore,
1142 immediate_abort: "immediate-abort",
1143 impl_header_lifetime_elision,
1144 impl_lint_pass,
1145 impl_restriction,
1146 impl_trait_in_assoc_type,
1147 impl_trait_in_bindings,
1148 impl_trait_in_fn_trait_return,
1149 impl_trait_projections,
1150 implied_by,
1151 import,
1152 import_name_type,
1153 import_shadowing,
1154 import_trait_associated_functions,
1155 imported_main,
1156 in_band_lifetimes,
1157 include,
1158 include_bytes,
1159 include_str,
1160 inclusive_range_syntax,
1161 incomplete_features,
1162 index,
1163 index_mut,
1164 infer_outlives_requirements,
1165 infer_static_outlives_requirements,
1166 inherent_associated_types,
1167 initial,
1168 inlateout,
1169 inline,
1170 inline_const,
1171 inline_const_pat,
1172 inout,
1173 inputs,
1174 instruction_set,
1175 instrument_fn,
1176 integer_: "integer", integer_max,
1178 integer_min,
1179 integral,
1180 internal_eq_trait_method_impls,
1181 internal_features,
1182 internal_syntax,
1183 interrupt,
1184 into_async_iter_into_iter,
1185 into_future,
1186 into_iter,
1187 into_try_type,
1188 intra_doc_pointers,
1189 intrinsic_fallback_is_spec,
1190 intrinsics,
1191 invariant,
1192 irrefutable_let_patterns,
1193 is,
1194 is_auto,
1195 is_splatted,
1196 is_unsafe,
1197 is_val_statically_known,
1198 isa_attribute,
1199 isize,
1200 issue,
1201 issue_5723_bootstrap,
1202 issue_tracker_base_url,
1203 item,
1204 item_context,
1205 item_like_imports,
1206 iter,
1207 iter_mut,
1208 iterator,
1209 iterator_collect_fn,
1210 kcfi,
1211 kernel_address,
1212 kernel_hwaddress,
1213 keylocker_x86,
1214 keyword,
1215 kind,
1216 kreg,
1217 kreg0,
1218 label,
1219 label_break_value,
1220 lahfsahf_target_feature,
1221 lang,
1222 lang_items,
1223 large_assignments,
1224 largest_niche,
1225 last,
1226 lasx,
1227 late_bound_turbofishing,
1228 lateout,
1229 lazy_normalization_consts,
1230 lazy_type_alias,
1231 le,
1232 legacy_receiver,
1233 len,
1234 let_chains,
1235 let_else,
1236 lhs,
1237 lib,
1238 libc,
1239 lifetime,
1240 lifetime_capture_rules_2024,
1241 lifetimes,
1242 line,
1243 link,
1244 link_arg_attribute,
1245 link_args,
1246 link_cfg,
1247 link_dash_arg: "link-arg",
1248 link_enzyme_intrinsics,
1249 link_llvm_intrinsics,
1250 link_name,
1251 link_ordinal,
1252 link_section,
1253 linkage,
1254 linker,
1255 linker_info,
1256 linker_messages,
1257 linkonce,
1258 linkonce_odr,
1259 lint,
1260 lint_reasons,
1261 literal,
1262 little, big,
1263 load,
1264 loaded_from_disk,
1265 local,
1266 local_inner_macros,
1267 log,
1268 log2,
1269 log10,
1270 log_syntax,
1271 loongarch32,
1272 loongarch64,
1273 loongarch_target_feature,
1274 loop_break_value,
1275 loop_hints,
1276 loop_match,
1277 lr,
1278 lsx,
1279 lt,
1280 m68k,
1281 m68k_target_feature,
1282 mac16,
1283 macho: "mach-o",
1284 macro_at_most_once_rep,
1285 macro_attr,
1286 macro_attributes_in_derive_output,
1287 macro_derive,
1288 macro_escape,
1289 macro_export,
1290 macro_guard_matcher,
1291 macro_lifetime_matcher,
1292 macro_literal_matcher,
1293 macro_metavar_expr,
1294 macro_metavar_expr_concat,
1295 macro_reexport,
1296 macro_use,
1297 macro_vis_matcher,
1298 macroless_const_item_generic_const_args,
1299 macroless_generic_const_args,
1300 macros_in_extern,
1301 main,
1302 managed_boxes,
1303 manually_drop,
1304 map,
1305 map_err,
1306 marked_unchecked_type_aliases,
1307 marker,
1308 marker_trait_attr,
1309 masked,
1310 match_beginning_vert,
1311 match_default_bindings,
1312 maximum_number_nsz_f16,
1313 maximum_number_nsz_f32,
1314 maximum_number_nsz_f64,
1315 maximum_number_nsz_f128,
1316 maximumf16,
1317 maximumf32,
1318 maximumf64,
1319 maximumf128,
1320 may_dangle,
1321 may_unwind,
1322 maybe_dangling,
1323 maybe_uninit,
1324 maybe_uninit_uninit,
1325 maybe_uninit_zeroed,
1326 mem,
1327 mem_align_const,
1328 mem_discriminant,
1329 mem_drop,
1330 mem_forget,
1331 mem_size_const,
1332 mem_swap,
1333 mem_uninitialized,
1334 mem_variant_count,
1335 mem_zeroed,
1336 member_constraints,
1337 memory,
1338 memtag,
1339 message,
1340 meta,
1341 meta_sized,
1342 metadata_type,
1343 min_adt_const_params,
1344 min_const_fn,
1345 min_const_generics,
1346 min_const_unsafe_fn,
1347 min_exhaustive_patterns,
1348 min_generic_const_args,
1349 min_specialization,
1350 min_type_alias_impl_trait,
1351 minimum_number_nsz_f16,
1352 minimum_number_nsz_f32,
1353 minimum_number_nsz_f64,
1354 minimum_number_nsz_f128,
1355 minimumf16,
1356 minimumf32,
1357 minimumf64,
1358 minimumf128,
1359 mips,
1360 mips32r6,
1361 mips64,
1362 mips64r6,
1363 mips_target_feature,
1364 mir_assume,
1365 mir_basic_block,
1366 mir_call,
1367 mir_cast,
1368 mir_cast_fn_ptr_safety,
1369 mir_cast_kind,
1370 mir_cast_ptr_coercion,
1371 mir_cast_ptr_to_ptr,
1372 mir_cast_transmute,
1373 mir_cast_unsize,
1374 mir_checked,
1375 mir_debuginfo,
1376 mir_discriminant,
1377 mir_drop,
1378 mir_field,
1379 mir_goto,
1380 mir_make_place,
1381 mir_move,
1382 mir_offset,
1383 mir_ptr_metadata,
1384 mir_return,
1385 mir_return_to,
1386 mir_set_discriminant,
1387 mir_static,
1388 mir_static_mut,
1389 mir_storage_dead,
1390 mir_storage_live,
1391 mir_tail_call,
1392 mir_unreachable,
1393 mir_unwind_cleanup,
1394 mir_unwind_continue,
1395 mir_unwind_resume,
1396 mir_unwind_terminate,
1397 mir_unwind_terminate_reason,
1398 mir_unwind_unreachable,
1399 mir_variant,
1400 miri,
1401 misc,
1402 miscsr,
1403 mmx_reg,
1404 modifiers,
1405 module,
1406 module_path,
1407 more_maybe_bounds,
1408 more_qualified_paths,
1409 more_struct_aliases,
1410 movbe_target_feature,
1411 movdir64b_target_feature,
1412 movdiri_target_feature,
1413 move_expr,
1414 move_ref_pattern,
1415 move_size_limit,
1416 movrs_target_feature,
1417 msa,
1418 msp430,
1419 mul,
1420 mul_assign,
1421 mul_with_overflow,
1422 multiple_supertrait_upcastable,
1423 must_not_suspend,
1424 must_use,
1425 mut_preserve_binding_mode_2024,
1426 mut_ref,
1427 mut_restriction,
1428 mutable,
1429 naked,
1430 naked_asm,
1431 naked_functions,
1432 naked_functions_rustic_abi,
1433 naked_functions_target_feature,
1434 name,
1435 named_fn_trait_parameters,
1436 names,
1437 native_link_modifiers,
1438 native_link_modifiers_as_needed,
1439 native_link_modifiers_bundle,
1440 native_link_modifiers_verbatim,
1441 native_link_modifiers_whole_archive,
1442 natvis_file,
1443 ne,
1444 needs_allocator,
1445 needs_drop,
1446 needs_panic_runtime,
1447 neg,
1448 negate_unsigned,
1449 negative_bounds,
1450 negative_impls,
1451 neon,
1452 nested,
1453 never,
1454 never_patterns,
1455 never_returns_null_ptr,
1456 never_type,
1457 never_type_fallback,
1458 new,
1459 new_binary,
1460 new_debug,
1461 new_debug_noop,
1462 new_display,
1463 new_lower_exp,
1464 new_lower_hex,
1465 new_octal,
1466 new_pointer,
1467 new_range,
1468 new_unchecked,
1469 new_upper_exp,
1470 new_upper_hex,
1471 next,
1472 niko,
1473 nll,
1474 no,
1475 no_builtins,
1476 no_core,
1477 no_coverage,
1478 no_crate_inject,
1479 no_debug,
1480 no_default_passes,
1481 no_implicit_prelude,
1482 no_inline,
1483 no_link,
1484 no_main,
1485 no_mangle,
1486 no_sanitize,
1487 no_stack_check,
1488 no_std,
1489 nomem,
1490 non_ascii_idents,
1491 non_exhaustive,
1492 non_exhaustive_omitted_patterns_lint,
1493 non_lifetime_binders,
1494 non_modrs_mods,
1495 non_null,
1496 nonblocking,
1497 none,
1498 nontemporal_store,
1499 noop_method_borrow,
1500 noop_method_clone,
1501 noop_method_deref,
1502 noprefix,
1503 noreturn,
1504 nostack,
1505 not,
1506 notable_trait,
1507 note,
1508 null,
1509 nvptx64,
1510 nvptx_target_feature,
1511 object_safe_for_dispatch,
1512 of,
1513 off,
1514 offload,
1515 offload_get_num_devices,
1516 offload_kernel,
1517 offload_region,
1518 offset,
1519 offset_of_enum,
1520 offset_of_nested,
1521 offset_of_slice,
1522 ok_or_else,
1523 old_name,
1524 omit_gdb_pretty_printer_section,
1525 on,
1526 on_const,
1527 on_move,
1528 on_type_error,
1529 on_unimplemented,
1530 on_unknown,
1531 on_unmatched_args,
1532 opaque,
1533 opaque_module_name_placeholder: "<opaque>",
1534 ops,
1535 opt_out_copy,
1536 optimize,
1537 optimize_attribute,
1538 optimized,
1539 optin_builtin_traits,
1540 option,
1541 option_env,
1542 options,
1543 or,
1544 or_patterns,
1545 ord_cmp_method,
1546 other,
1547 out,
1548 output,
1549 overflow_checks,
1550 overlapping_marker_traits,
1551 owned_box,
1552 packed,
1553 packed_bundled_libs,
1554 panic,
1555 panic_2015,
1556 panic_2021,
1557 panic_abort,
1558 panic_bounds_check,
1559 panic_cannot_unwind,
1560 panic_const_add_overflow,
1561 panic_const_async_fn_resumed,
1562 panic_const_async_fn_resumed_drop,
1563 panic_const_async_fn_resumed_panic,
1564 panic_const_async_gen_fn_resumed,
1565 panic_const_async_gen_fn_resumed_drop,
1566 panic_const_async_gen_fn_resumed_panic,
1567 panic_const_coroutine_resumed,
1568 panic_const_coroutine_resumed_drop,
1569 panic_const_coroutine_resumed_panic,
1570 panic_const_div_by_zero,
1571 panic_const_div_overflow,
1572 panic_const_gen_fn_none,
1573 panic_const_gen_fn_none_drop,
1574 panic_const_gen_fn_none_panic,
1575 panic_const_mul_overflow,
1576 panic_const_neg_overflow,
1577 panic_const_rem_by_zero,
1578 panic_const_rem_overflow,
1579 panic_const_shl_overflow,
1580 panic_const_shr_overflow,
1581 panic_const_sub_overflow,
1582 panic_display,
1583 panic_fmt,
1584 panic_handler,
1585 panic_impl,
1586 panic_implementation,
1587 panic_in_cleanup,
1588 panic_info,
1589 panic_invalid_enum_construction,
1590 panic_location,
1591 panic_misaligned_pointer_dereference,
1592 panic_nounwind,
1593 panic_null_pointer_dereference,
1594 panic_null_reference_constructed,
1595 panic_runtime,
1596 panic_str_2015,
1597 panic_unwind,
1598 panicking,
1599 param_attrs,
1600 parent_label,
1601 partial_cmp,
1602 partial_ord,
1603 passes,
1604 pat,
1605 pat_param,
1606 patchable_function_entry,
1607 path,
1608 pattern_complexity_limit,
1609 pattern_parentheses,
1610 pattern_type,
1611 pattern_type_range_trait,
1612 pattern_types,
1613 phantom_data,
1614 phase,
1615 pic,
1616 pie,
1617 pin_drop,
1618 pin_ergonomics,
1619 pin_v2,
1620 platform_intrinsics,
1621 plugin,
1622 plugin_registrar,
1623 plugins,
1624 pointee,
1625 pointee_sized,
1626 pointee_trait,
1627 pointer,
1628 poll,
1629 post_cleanup: "post-cleanup",
1630 post_dash_lto: "post-lto",
1631 postfix_match,
1632 powerpc,
1633 powerpc64,
1634 powerpc_target_feature,
1635 powf,
1636 powi,
1637 ppcf128,
1638 pre_dash_lto: "pre-lto",
1639 precise_capturing,
1640 precise_capturing_in_traits,
1641 precise_pointer_size_matching,
1642 predicates,
1643 pref_align_of,
1644 prefetch_read_data,
1645 prefetch_read_instruction,
1646 prefetch_write_data,
1647 prefetch_write_instruction,
1648 prefix_nops,
1649 preg,
1650 prelude,
1651 prelude_import,
1652 preserves_flags,
1653 prfchw_target_feature,
1654 prid,
1655 primitive,
1656 print_macro,
1657 println_macro,
1658 proc_dash_macro: "proc-macro",
1659 proc_macro,
1660 proc_macro_attribute,
1661 proc_macro_derive,
1662 proc_macro_expr,
1663 proc_macro_gen,
1664 proc_macro_hygiene,
1665 proc_macro_internals,
1666 proc_macro_mod,
1667 proc_macro_non_items,
1668 proc_macro_path_invoc,
1669 profiler_runtime,
1670 ptr,
1671 ptr_cast,
1672 ptr_cast_const,
1673 ptr_cast_mut,
1674 ptr_const_is_null,
1675 ptr_copy,
1676 ptr_copy_nonoverlapping,
1677 ptr_drop_in_place,
1678 ptr_drop_in_place_self,
1679 ptr_from_ref,
1680 ptr_guaranteed_cmp,
1681 ptr_is_null,
1682 ptr_mask,
1683 ptr_metadata,
1684 ptr_null,
1685 ptr_null_mut,
1686 ptr_offset_from,
1687 ptr_offset_from_unsigned,
1688 ptr_read,
1689 ptr_read_unaligned,
1690 ptr_replace,
1691 ptr_swap,
1692 ptr_swap_nonoverlapping,
1693 ptr_write,
1694 ptr_write_bytes,
1695 ptr_write_unaligned,
1696 ptr_write_volatile,
1697 pub_macro_rules,
1698 pub_restricted,
1699 public,
1700 pure,
1701 pushpop_unsafe,
1702 qreg,
1703 qreg_low4,
1704 qreg_low8,
1705 quad_precision_float,
1706 question_mark,
1707 quote,
1708 range_inclusive_new,
1709 raw_dash_dylib: "raw-dylib",
1710 raw_dylib,
1711 raw_dylib_elf,
1712 raw_eq,
1713 raw_identifiers,
1714 raw_ref_op,
1715 re_rebalance_coherence,
1716 read_via_copy,
1717 readonly,
1718 realloc,
1719 realtime,
1720 reason,
1721 reborrow,
1722 receiver,
1723 receiver_target,
1724 recursion_limit,
1725 reexport_test_harness_main,
1726 ref_pat_eat_one_layer_2024,
1727 ref_pat_eat_one_layer_2024_structural,
1728 ref_pat_everywhere,
1729 ref_unwind_safe_trait,
1730 reference,
1731 reflect,
1732 reg,
1733 reg16,
1734 reg32,
1735 reg64,
1736 reg_abcd,
1737 reg_addr,
1738 reg_byte,
1739 reg_data,
1740 reg_iw,
1741 reg_nonzero,
1742 reg_pair,
1743 reg_ptr,
1744 reg_upper,
1745 register_attr,
1746 register_attribute_tool,
1747 register_lint_tool,
1748 register_tool,
1749 relaxed_adts,
1750 relaxed_struct_unsize,
1751 relocation_model,
1752 rem,
1753 rem_assign,
1754 repr,
1755 repr128,
1756 repr_align,
1757 repr_align_enum,
1758 repr_packed,
1759 repr_simd,
1760 repr_transparent,
1761 require,
1762 reserve_x18: "reserve-x18",
1763 residual,
1764 result,
1765 result_ffi_guarantees,
1766 resumable_breakpoint,
1767 return_address,
1768 return_position_impl_trait_in_trait,
1769 return_type_notation,
1770 right_arrow: "->",
1771 riscv32,
1772 riscv64,
1773 riscv_target_feature,
1774 rlib,
1775 ropi,
1776 ropi_rwpi: "ropi-rwpi",
1777 rotate_left,
1778 rotate_right,
1779 round,
1780 round_ties_even,
1781 rtm_target_feature,
1782 runtime,
1783 rust,
1784 rust_2015,
1785 rust_2018,
1786 rust_2018_preview,
1787 rust_2021,
1788 rust_2024,
1789 rust_analyzer,
1790 rust_begin_unwind,
1791 rust_cold_cc,
1792 rust_dash_call: "rust-call",
1793 rust_eh_personality,
1794 rust_future,
1795 rust_logo,
1796 rust_out,
1797 rust_preserve_none_cc,
1798 rust_tail_cc,
1799 rustc,
1800 rustc_abi,
1801 rustc_align,
1803 rustc_align_static,
1804 rustc_allocator,
1805 rustc_allocator_zeroed,
1806 rustc_allocator_zeroed_variant,
1807 rustc_allow_const_fn_unstable,
1808 rustc_allow_incoherent_impl,
1809 rustc_allow_lifetime_dependent_specialization,
1810 rustc_allowed_through_unstable_modules,
1811 rustc_always_gca,
1812 rustc_assert_variance,
1813 rustc_attrs,
1814 rustc_autodiff,
1815 rustc_builtin_macro,
1816 rustc_canonical_symbol,
1817 rustc_capture_analysis,
1818 rustc_clean,
1819 rustc_coherence_is_core,
1820 rustc_coinductive,
1821 rustc_comptime,
1822 rustc_confusables,
1823 rustc_const_stable,
1824 rustc_const_stable_indirect,
1825 rustc_const_unstable,
1826 rustc_conversion_suggestion,
1827 rustc_deallocator,
1828 rustc_default_body_unstable,
1829 rustc_delayed_bug_from_inside_query,
1830 rustc_deny_explicit_impl,
1831 rustc_deprecated_safe_2024,
1832 rustc_diagnostic_item,
1833 rustc_diagnostic_macros,
1834 rustc_diagnostic_opaque,
1835 rustc_do_not_const_check,
1836 rustc_doc_primitive,
1837 rustc_driver,
1838 rustc_dummy,
1839 rustc_dump_clauses,
1840 rustc_dump_def_parents,
1841 rustc_dump_def_path,
1842 rustc_dump_generics,
1843 rustc_dump_hidden_type_of_opaques,
1844 rustc_dump_inferred_outlives,
1845 rustc_dump_item_bounds,
1846 rustc_dump_layout,
1847 rustc_dump_object_lifetime_defaults,
1848 rustc_dump_symbol_name,
1849 rustc_dump_user_args,
1850 rustc_dump_variances,
1851 rustc_dump_variances_of_opaques,
1852 rustc_dump_vtable,
1853 rustc_dyn_incompatible_trait,
1854 rustc_effective_visibility,
1855 rustc_eii_foreign_item,
1856 rustc_evaluate_where_clauses,
1857 rustc_expected_cgu_reuse,
1858 rustc_force_inline,
1859 rustc_has_incoherent_inherent_impls,
1860 rustc_if_this_changed,
1861 rustc_inherit_overflow_checks,
1862 rustc_insignificant_dtor,
1863 rustc_intrinsic,
1864 rustc_intrinsic_const_stable_indirect,
1865 rustc_legacy_const_generics,
1866 rustc_lint_opt_deny_field_access,
1867 rustc_lint_opt_ty,
1868 rustc_lint_query_instability,
1869 rustc_lint_untracked_query_information,
1870 rustc_macro_transparency,
1871 rustc_main,
1872 rustc_mir,
1873 rustc_must_implement_one_of,
1874 rustc_must_match_exhaustively,
1875 rustc_no_implicit_autorefs,
1876 rustc_no_implicit_bounds,
1877 rustc_no_mir_inline,
1878 rustc_no_writable,
1879 rustc_non_const_trait_method,
1880 rustc_nonnull_optimization_guaranteed,
1881 rustc_nounwind,
1882 rustc_objc_class,
1883 rustc_objc_selector,
1884 rustc_offload_kernel,
1885 rustc_on_unimplemented,
1886 rustc_panics_when_zero,
1887 rustc_paren_sugar,
1888 rustc_partition_codegened,
1889 rustc_partition_reused,
1890 rustc_pass_by_value,
1891 rustc_pass_indirectly_in_non_rustic_abis,
1892 rustc_peek,
1893 rustc_peek_liveness,
1894 rustc_peek_maybe_init,
1895 rustc_peek_maybe_uninit,
1896 rustc_preserve_ub_checks,
1897 rustc_pretty_live_locals,
1898 rustc_pretty_precise_liveness,
1899 rustc_pretty_transitive_live_locals,
1900 rustc_private,
1901 rustc_proc_macro_decls,
1902 rustc_promotable,
1903 rustc_pub_transparent,
1904 rustc_reallocator,
1905 rustc_regions,
1906 rustc_scalable_vector,
1907 rustc_should_not_be_called_on_const_items,
1908 rustc_show_spans,
1909 rustc_simd_monomorphize_lane_limit,
1910 rustc_skip_during_method_dispatch,
1911 rustc_specialization_trait,
1912 rustc_splat,
1913 rustc_std_internal_symbol,
1914 rustc_strict_coherence,
1915 rustc_test_marker,
1916 rustc_then_this_would_need,
1917 rustc_trivial_field_reads,
1918 rustc_unchecked_type_alias,
1919 rustc_unroll,
1921 rustdoc,
1922 rustdoc_internals,
1923 rustdoc_missing_doc_code_examples,
1924 rustdoc_skip_body,
1925 rustfmt,
1926 rvalue_static_promotion,
1927 rvector,
1928 rwpi,
1929 s32c1i,
1930 s390x,
1931 s390x_target_feature,
1932 s390x_target_feature_vector,
1933 safestack,
1934 safety,
1935 sanitize,
1936 sanitizer_cfi_generalize_pointers,
1937 sanitizer_cfi_normalize_integers,
1938 sanitizer_runtime,
1939 saturating_add,
1940 saturating_sub,
1941 sdylib,
1942 search_unbox,
1943 section,
1944 select_unpredictable,
1945 self_in_typedefs,
1946 self_struct_ctor,
1947 semiopaque,
1948 sgpr32,
1949 sgpr64,
1950 sgpr96,
1951 sgpr128,
1952 sgpr256,
1953 sgpr512,
1954 sha2,
1955 sha3,
1956 sha512_sm_x86,
1957 shadow_call_stack,
1958 shallow,
1959 shl,
1960 shl_assign,
1961 shorter_tail_lifetimes,
1962 should_not_be_called_on_const_items,
1963 should_panic,
1964 show,
1965 shr,
1966 shr_assign,
1967 signed,
1968 simd,
1969 simd_add,
1970 simd_and,
1971 simd_arith_offset,
1972 simd_as,
1973 simd_bitmask,
1974 simd_bitreverse,
1975 simd_bswap,
1976 simd_carryless_mul,
1977 simd_cast,
1978 simd_cast_ptr,
1979 simd_ceil,
1980 simd_ctlz,
1981 simd_ctpop,
1982 simd_cttz,
1983 simd_div,
1984 simd_eq,
1985 simd_expose_provenance,
1986 simd_extract,
1987 simd_extract_dyn,
1988 simd_fabs,
1989 simd_fcos,
1990 simd_fexp,
1991 simd_fexp2,
1992 simd_ffi,
1993 simd_flog,
1994 simd_flog2,
1995 simd_flog10,
1996 simd_floor,
1997 simd_fma,
1998 simd_fsin,
1999 simd_fsqrt,
2000 simd_funnel_shl,
2001 simd_funnel_shr,
2002 simd_gather,
2003 simd_ge,
2004 simd_gt,
2005 simd_insert,
2006 simd_insert_dyn,
2007 simd_le,
2008 simd_lt,
2009 simd_masked_load,
2010 simd_masked_store,
2011 simd_maximum_number_nsz,
2012 simd_minimum_number_nsz,
2013 simd_mul,
2014 simd_ne,
2015 simd_neg,
2016 simd_or,
2017 simd_reduce_add_ordered,
2018 simd_reduce_add_unordered,
2019 simd_reduce_all,
2020 simd_reduce_and,
2021 simd_reduce_any,
2022 simd_reduce_max,
2023 simd_reduce_min,
2024 simd_reduce_mul_ordered,
2025 simd_reduce_mul_unordered,
2026 simd_reduce_or,
2027 simd_reduce_xor,
2028 simd_relaxed_fma,
2029 simd_rem,
2030 simd_round,
2031 simd_round_ties_even,
2032 simd_saturating_add,
2033 simd_saturating_sub,
2034 simd_scatter,
2035 simd_select,
2036 simd_select_bitmask,
2037 simd_shl,
2038 simd_shr,
2039 simd_shuffle,
2040 simd_shuffle_const_generic,
2041 simd_splat,
2042 simd_sub,
2043 simd_trunc,
2044 simd_with_exposed_provenance,
2045 simd_xor,
2046 sin,
2047 since,
2048 size,
2049 size_of,
2050 size_of_type_id,
2051 size_of_val,
2052 sized,
2053 sized_hierarchy,
2054 slice,
2055 slice_from_raw_parts,
2056 slice_from_raw_parts_mut,
2057 slice_get_unchecked,
2058 slice_len_fn,
2059 slice_patterns,
2060 slicing_syntax,
2061 soft_float: "soft-float",
2062 sparc,
2063 sparc64,
2064 sparc_target_feature,
2065 spe_acc,
2066 specialization,
2067 speed,
2068 spirv,
2069 splat,
2070 splatted_index,
2071 spotlight,
2072 sqrt,
2073 sreg,
2074 sreg_low16,
2075 sse,
2076 sse2,
2077 sse4a_target_feature,
2078 stable,
2079 staged_api,
2080 start,
2081 state,
2082 static_align,
2083 static_in_const,
2084 static_nobundle,
2085 static_recursion,
2086 staticlib,
2087 std,
2088 std_lib_injection,
2089 std_panic,
2090 std_panic_2015_macro,
2091 std_panic_macro,
2092 stmt,
2093 stmt_expr_attributes,
2094 stop_after_dataflow,
2095 store,
2096 str,
2097 str_from_utf8,
2098 str_from_utf8_mut,
2099 str_from_utf8_unchecked,
2100 str_from_utf8_unchecked_mut,
2101 str_inherent_from_utf8,
2102 str_inherent_from_utf8_mut,
2103 str_inherent_from_utf8_unchecked,
2104 str_inherent_from_utf8_unchecked_mut,
2105 strict_provenance_lints,
2106 string_deref_patterns,
2107 stringify,
2108 struct_field_attributes,
2109 struct_inherit,
2110 struct_variant,
2111 structural_match,
2112 structural_peq,
2113 sub,
2114 sub_assign,
2115 sub_with_overflow,
2116 suggestion,
2117 super_let,
2118 supertrait_item_shadowing,
2119 sve,
2120 sve_cast,
2121 sve_tuple_create2,
2122 sve_tuple_create3,
2123 sve_tuple_create4,
2124 sve_tuple_get,
2125 sve_tuple_set,
2126 sym,
2127 sync,
2128 synthetic,
2129 t32,
2130 target,
2131 target_abi,
2132 target_arch,
2133 target_endian,
2134 target_env,
2135 target_family,
2136 target_feature,
2137 target_feature_11,
2138 target_feature_inline_always,
2139 target_has_atomic,
2140 target_has_atomic_load_store,
2141 target_has_atomic_primitive_alignment,
2142 target_has_reliable_f16,
2143 target_has_reliable_f16_math,
2144 target_has_reliable_f16b,
2145 target_has_reliable_f128,
2146 target_has_reliable_f128_math,
2147 target_has_threads,
2148 target_object_format,
2149 target_os,
2150 target_pointer_width,
2151 target_thread_local,
2152 target_vendor,
2153 tbm_target_feature,
2154 termination,
2155 termination_trait,
2156 termination_trait_test,
2157 test,
2158 test_2018_feature,
2159 test_accepted_feature,
2160 test_binder_constraints,
2161 test_case,
2162 test_incomplete_feature,
2163 test_removed_feature,
2164 test_runner,
2165 test_unstable_lint,
2166 this,
2167 thread,
2168 thread_local,
2169 threadptr,
2170 three_way_compare,
2171 thumb2,
2172 thumb_mode: "thumb-mode",
2173 time,
2174 tmm_reg,
2175 to_owned_method,
2176 to_string,
2177 to_vec,
2178 todo_macro,
2179 tool_attributes,
2180 tool_lints,
2181 trace_macros,
2182 track_caller,
2183 trait_alias,
2184 trait_ty,
2185 trait_upcasting,
2186 transmute,
2187 transmute_generic_consts,
2188 transmute_opts,
2189 transmute_trait,
2190 transmute_unchecked,
2191 transparent,
2192 transparent_enums,
2193 transparent_unions,
2194 trivial_bounds,
2195 trivial_clone,
2196 trunc,
2197 try_as_dyn,
2198 try_blocks,
2199 try_blocks_heterogeneous,
2200 try_capture,
2201 try_from,
2202 try_into,
2203 try_trait_v2,
2204 try_trait_v2_residual,
2205 try_update,
2206 tt,
2207 tuple,
2208 tuple_indexing,
2209 tuple_trait,
2210 two_phase,
2211 ty,
2212 type_alias_enum_variants,
2213 type_alias_impl_trait,
2214 type_ascription,
2215 type_changing_struct_update,
2216 type_id,
2217 type_id_array_len,
2218 type_id_element_ty,
2219 type_id_eq,
2220 type_id_field_representing_type,
2221 type_id_fields,
2222 type_id_function_ptr,
2223 type_id_generics,
2224 type_id_is_signed,
2225 type_id_non_exhaustive,
2226 type_id_points_mutably,
2227 type_id_points_to,
2228 type_id_size_of,
2229 type_id_type_of,
2230 type_id_variant_name,
2231 type_id_variant_non_exhaustive,
2232 type_id_variants,
2233 type_id_vtable,
2234 type_info,
2235 type_info_generic,
2236 type_ir,
2237 type_ir_infer_ctxt_like,
2238 type_ir_inherent,
2239 type_ir_interner,
2240 type_length_limit,
2241 type_macros,
2242 type_name,
2243 type_privacy_lints,
2244 typed_swap_nonoverlapping,
2245 u8,
2246 u8_legacy_const_max,
2247 u8_legacy_const_min,
2248 u8_legacy_fn_max_value,
2249 u8_legacy_fn_min_value,
2250 u8_legacy_mod,
2251 u16,
2252 u16_legacy_const_max,
2253 u16_legacy_const_min,
2254 u16_legacy_fn_max_value,
2255 u16_legacy_fn_min_value,
2256 u16_legacy_mod,
2257 u32,
2258 u32_legacy_const_max,
2259 u32_legacy_const_min,
2260 u32_legacy_fn_max_value,
2261 u32_legacy_fn_min_value,
2262 u32_legacy_mod,
2263 u64,
2264 u64_legacy_const_max,
2265 u64_legacy_const_min,
2266 u64_legacy_fn_max_value,
2267 u64_legacy_fn_min_value,
2268 u64_legacy_mod,
2269 u128,
2270 u128_legacy_const_max,
2271 u128_legacy_const_min,
2272 u128_legacy_fn_max_value,
2273 u128_legacy_fn_min_value,
2274 u128_legacy_mod,
2275 ub_checks,
2276 unaligned_volatile_load,
2277 unaligned_volatile_store,
2278 unboxed_closures,
2279 unchecked_add,
2280 unchecked_div,
2281 unchecked_funnel_shl,
2282 unchecked_funnel_shr,
2283 unchecked_mul,
2284 unchecked_rem,
2285 unchecked_shl,
2286 unchecked_shr,
2287 unchecked_sub,
2288 undecorated,
2289 underscore_const_names,
2290 underscore_imports,
2291 underscore_lifetimes,
2292 uniform_paths,
2293 unimplemented,
2294 unimplemented_macro,
2295 unit,
2296 universal_impl_trait,
2297 unix,
2298 unlikely,
2299 unmarked_api,
2300 unnamed_enum_variants,
2301 unnamed_fields,
2302 unpin,
2303 unqualified_local_imports,
2304 unreachable,
2305 unreachable_2015,
2306 unreachable_2015_macro,
2307 unreachable_2021,
2308 unreachable_code,
2309 unreachable_display,
2310 unreachable_macro,
2311 unresolved,
2312 unrestricted_attribute_tokens,
2313 unsafe_attributes,
2314 unsafe_binders,
2315 unsafe_block_in_unsafe_fn,
2316 unsafe_cell,
2317 unsafe_cell_raw_get,
2318 unsafe_eii,
2319 unsafe_extern_blocks,
2320 unsafe_fields,
2321 unsafe_no_drop_flag,
2322 unsafe_pinned,
2323 unsafe_unpin,
2324 unsize,
2325 unsized_const_param_ty,
2326 unsized_const_params,
2327 unsized_fn_params,
2328 unsized_locals,
2329 unsized_tuple_coercion,
2330 unstable,
2331 unstable_feature_bound,
2332 unstable_location_reason_default: "this crate is being loaded from the sysroot, an \
2333 unstable location; did you mean to load this crate \
2334 from crates.io via `Cargo.toml` instead?",
2335 unstable_removed,
2336 untagged_unions,
2337 unused_imports,
2338 unwind,
2339 unwind_attributes,
2340 unwind_safe_trait,
2341 unwrap,
2342 unwrap_or,
2343 update,
2344 use_cloned,
2345 use_extern_macros,
2346 use_nested_groups,
2347 used,
2348 used_with_arg,
2349 using,
2350 usize,
2351 usize_legacy_const_max,
2352 usize_legacy_const_min,
2353 usize_legacy_fn_max_value,
2354 usize_legacy_fn_min_value,
2355 usize_legacy_mod,
2356 v1,
2357 v8plus,
2358 v9,
2359 va_arg,
2360 va_arg_safe,
2361 va_copy,
2362 va_end,
2363 va_list,
2364 val,
2365 validity,
2366 value,
2367 values,
2368 var,
2369 variadic,
2370 variant_count,
2371 vec,
2372 vector,
2373 verbatim,
2374 version,
2375 vfp2,
2376 vgpr16,
2377 vgpr32,
2378 vgpr64,
2379 vgpr96,
2380 vgpr128,
2381 vgpr160,
2382 vgpr192,
2383 vgpr224,
2384 vgpr256,
2385 vgpr288,
2386 vgpr320,
2387 vgpr352,
2388 vgpr384,
2389 vgpr512,
2390 vgpr1024,
2391 view_type,
2392 view_types,
2393 vis,
2394 visible_private_types,
2395 volatile,
2396 volatile_copy_memory,
2397 volatile_copy_nonoverlapping_memory,
2398 volatile_load,
2399 volatile_set_memory,
2400 volatile_store,
2401 vreg,
2402 vreg_low16,
2403 vreg_pair,
2404 vsreg,
2405 vsx,
2406 vtable_align,
2407 vtable_size,
2408 warn,
2409 warnings,
2410 wasip2,
2411 wasm,
2412 wasm32,
2413 wasm64,
2414 wasm_abi,
2415 wasm_import_module,
2416 wasm_target_feature,
2417 weak,
2418 weak_odr,
2419 where_clause_attrs,
2420 while_let,
2421 whole_dash_archive: "whole-archive",
2422 width,
2423 windowed,
2424 windows,
2425 windows_subsystem,
2426 with_negative_coherence,
2427 wrapping_add,
2428 wrapping_div,
2429 wrapping_mul,
2430 wrapping_rem,
2431 wrapping_rem_euclid,
2432 wrapping_sub,
2433 wreg,
2434 write_box_via_move,
2435 write_bytes,
2436 write_fmt,
2437 write_macro,
2438 write_str,
2439 write_via_move,
2440 writeln_macro,
2441 x86,
2442 x86_64,
2443 x86_amx_intrinsics,
2444 x87_reg,
2445 x87_target_feature,
2446 xcoff,
2447 xer,
2448 xloop,
2449 xmm_reg,
2450 xop_target_feature,
2451 xreg,
2452 xtensa,
2453 xtensa_target_feature,
2454 yeet_desugar_details,
2455 yeet_expr,
2456 yes,
2457 yield_expr,
2458 ymm_reg,
2459 yreg,
2460 zca,
2461 zfh,
2462 zfhmin,
2463 zmm_reg,
2464 ztso,
2465 }
2467}
2468
2469pub const STDLIB_STABLE_CRATES: &[Symbol] = &[sym::std, sym::core, sym::alloc, sym::proc_macro];
2472
2473#[derive(#[automatically_derived]impl ::core::marker::Copy for Ident { }Copy, #[automatically_derived]#[doc(hidden)]unsafe impl ::core::clone::TrivialClone
for Ident {
}
#[automatically_derived]impl ::core::clone::Clone for Ident {
#[inline]
fn clone(&self) -> Self {
let _: ::core::clone::AssertParamIsClone<Symbol>;
let _: ::core::clone::AssertParamIsClone<Span>;
*self
}
}Clone, #[automatically_derived]impl ::core::cmp::Eq for Ident {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<Symbol>;
let _: ::core::cmp::AssertParamIsEq<Span>;
}
}Eq, const _: () =
{
impl ::rustc_data_structures::stable_hash::StableHash for Ident {
#[inline]
fn stable_hash<__Hcx: ::rustc_data_structures::stable_hash::StableHashCtxt>(&self,
__hcx: &mut __Hcx,
__hasher:
&mut ::rustc_data_structures::stable_hash::StableHasher) {
match *self {
Ident { name: ref __binding_0, span: ref __binding_1 } => {
{ __binding_0.stable_hash(__hcx, __hasher); }
{ __binding_1.stable_hash(__hcx, __hasher); }
}
}
}
}
};StableHash, const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for Ident {
fn encode(&self, __encoder: &mut __E) {
let Ident { name: ref __binding_0, span: ref __binding_1 } =
*self;
::rustc_serialize::Encodable::<__E>::encode(__binding_0,
__encoder);
::rustc_serialize::Encodable::<__E>::encode(__binding_1,
__encoder);
}
}
};Encodable, const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for Ident {
fn decode(__decoder: &mut __D) -> Self {
Ident {
name: ::rustc_serialize::Decodable::decode(__decoder),
span: ::rustc_serialize::Decodable::decode(__decoder),
}
}
}
};Decodable)]
2474pub struct Ident {
2475 pub name: Symbol,
2480 pub span: Span,
2481}
2482
2483impl Ident {
2484 #[inline]
2485 #[track_caller]
2486 pub fn new(name: Symbol, span: Span) -> Ident {
2488 if truecfg!(debug_assertions) && name == sym::empty {
2489 crate::macros::bug_impl(Some(span),
format_args!("called `Ident::new` with empty symbol"),
Location::caller());crate::span_bug!(span, "called `Ident::new` with empty symbol");
2490 }
2491 Ident { name, span }
2492 }
2493
2494 #[inline]
2496 pub fn with_dummy_span(name: Symbol) -> Ident {
2497 Ident::new(name, DUMMY_SP)
2498 }
2499
2500 #[inline]
2505 pub fn dummy() -> Ident {
2506 Ident::with_dummy_span(sym::dummy)
2507 }
2508
2509 pub fn from_str(string: &str) -> Ident {
2511 Ident::with_dummy_span(Symbol::intern(string))
2512 }
2513
2514 #[rustc_diagnostic_item = "ident_from_str_and_span"]
2516 pub fn from_str_and_span(string: &str, span: Span) -> Ident {
2517 Ident::new(Symbol::intern(string), span)
2518 }
2519
2520 pub fn with_span_pos(self, span: Span) -> Ident {
2522 Ident::new(self.name, span.with_ctxt(self.span.ctxt()))
2523 }
2524
2525 pub fn without_first_quote(self) -> Ident {
2528 self.as_str()
2529 .strip_prefix('\'')
2530 .map_or(self, |name| Ident::new(Symbol::intern(name), self.span))
2531 }
2532
2533 pub fn normalize_to_macros_2_0(self) -> Ident {
2539 Ident::new(self.name, self.span.normalize_to_macros_2_0())
2540 }
2541
2542 #[inline]
2548 pub fn normalize_to_macro_rules(self) -> Ident {
2549 Ident::new(self.name, self.span.normalize_to_macro_rules())
2550 }
2551
2552 pub fn as_str(&self) -> &str {
2558 self.name.as_str()
2559 }
2560}
2561
2562impl PartialEq for Ident {
2563 #[inline]
2564 fn eq(&self, rhs: &Self) -> bool {
2565 self.name == rhs.name && self.span.ctxt() == rhs.span.ctxt()
2566 }
2567}
2568
2569impl Hash for Ident {
2570 fn hash<H: Hasher>(&self, state: &mut H) {
2571 self.name.hash(state);
2572 self.span.ctxt().hash(state);
2573 }
2574}
2575
2576impl fmt::Debug for Ident {
2577 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
2578 fmt::Display::fmt(self, f)?;
2579 fmt::Debug::fmt(&self.span.ctxt(), f)
2580 }
2581}
2582
2583impl fmt::Display for Ident {
2587 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
2588 fmt::Display::fmt(&IdentPrinter::new(self.name, self.guess_print_mode(), None), f)
2589 }
2590}
2591
2592pub enum IdentPrintMode {
2593 Normal,
2594 RawIdent,
2595 ForcedKeywordIdent,
2596 RawLifetime,
2597}
2598
2599pub struct IdentPrinter {
2613 symbol: Symbol,
2614 mode: IdentPrintMode,
2615 convert_dollar_crate: Option<Span>,
2618}
2619
2620impl IdentPrinter {
2621 pub fn new(
2623 symbol: Symbol,
2624 mode: IdentPrintMode,
2625 convert_dollar_crate: Option<Span>,
2626 ) -> IdentPrinter {
2627 IdentPrinter { symbol, mode, convert_dollar_crate }
2628 }
2629
2630 pub fn for_ast_ident(ident: Ident, mode: IdentPrintMode) -> IdentPrinter {
2634 IdentPrinter::new(ident.name, mode, Some(ident.span))
2635 }
2636}
2637
2638impl fmt::Display for IdentPrinter {
2639 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
2640 let s = match self.mode {
2641 IdentPrintMode::Normal
2642 if self.symbol == kw::DollarCrate
2643 && let Some(span) = self.convert_dollar_crate =>
2644 {
2645 let converted = span.ctxt().dollar_crate_name();
2646 if !converted.is_path_segment_keyword() {
2647 f.write_str("::")?;
2648 }
2649 converted
2650 }
2651 IdentPrintMode::Normal => self.symbol,
2652 IdentPrintMode::RawIdent => {
2653 f.write_str("r#")?;
2654 self.symbol
2655 }
2656 IdentPrintMode::ForcedKeywordIdent => {
2657 f.write_str("k#")?;
2658 self.symbol
2659 }
2660 IdentPrintMode::RawLifetime => {
2661 f.write_str("'r#")?;
2662 let s = self
2663 .symbol
2664 .as_str()
2665 .strip_prefix("'")
2666 .expect("only lifetime idents should be passed with RawLifetime mode");
2667 Symbol::intern(s)
2668 }
2669 };
2670 s.fmt(f)
2671 }
2672}
2673
2674#[derive(#[automatically_derived]impl ::core::marker::Copy for
MacroRulesNormalizedIdent {
}Copy, #[automatically_derived]#[doc(hidden)]unsafe impl ::core::clone::TrivialClone
for MacroRulesNormalizedIdent {
}
#[automatically_derived]impl ::core::clone::Clone for
MacroRulesNormalizedIdent {
#[inline]
fn clone(&self) -> Self {
let _: ::core::clone::AssertParamIsClone<Ident>;
*self
}
}Clone, #[automatically_derived]impl ::core::cmp::Eq for MacroRulesNormalizedIdent {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<Ident>;
}
}Eq, #[automatically_derived]impl ::core::marker::StructuralPartialEq for
MacroRulesNormalizedIdent {
}
#[automatically_derived]impl ::core::cmp::PartialEq for
MacroRulesNormalizedIdent {
#[inline]
fn eq(&self, other: &Self) -> bool { self.0 == other.0 }
}PartialEq, #[automatically_derived]impl ::core::hash::Hash for MacroRulesNormalizedIdent
{
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
::core::hash::Hash::hash(&self.0, state)
}
}Hash)]
2680pub struct MacroRulesNormalizedIdent(Ident);
2681
2682impl MacroRulesNormalizedIdent {
2683 #[inline]
2684 pub fn new(ident: Ident) -> Self {
2685 MacroRulesNormalizedIdent(ident.normalize_to_macro_rules())
2686 }
2687
2688 pub fn symbol(&self) -> Symbol {
2689 self.0.name
2690 }
2691
2692 pub fn ident(&self) -> Ident {
2693 self.0
2694 }
2695}
2696
2697impl fmt::Debug for MacroRulesNormalizedIdent {
2698 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
2699 fmt::Debug::fmt(&self.0, f)
2700 }
2701}
2702
2703impl fmt::Display for MacroRulesNormalizedIdent {
2704 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
2705 fmt::Display::fmt(&self.0, f)
2706 }
2707}
2708
2709#[derive(#[automatically_derived]#[doc(hidden)]unsafe impl ::core::clone::TrivialClone
for Symbol {
}
#[automatically_derived]impl ::core::clone::Clone for Symbol {
#[inline]
fn clone(&self) -> Self {
let _: ::core::clone::AssertParamIsClone<SymbolIndex>;
*self
}
}Clone, #[automatically_derived]impl ::core::marker::Copy for Symbol { }Copy, #[automatically_derived]impl ::core::marker::StructuralPartialEq for Symbol {
}
#[automatically_derived]impl ::core::cmp::PartialEq for Symbol {
#[inline]
fn eq(&self, other: &Self) -> bool { self.0 == other.0 }
}PartialEq, #[automatically_derived]impl ::core::cmp::Eq for Symbol {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<SymbolIndex>;
}
}Eq, #[automatically_derived]impl ::core::cmp::PartialOrd for Symbol {
#[inline]
fn partial_cmp(&self, other: &Self)
-> ::core::option::Option<::core::cmp::Ordering> {
::core::option::Option::Some(::core::cmp::Ord::cmp(self, other))
}
}PartialOrd, #[automatically_derived]impl ::core::cmp::Ord for Symbol {
#[inline]
fn cmp(&self, other: &Self) -> ::core::cmp::Ordering {
::core::cmp::Ord::cmp(&self.0, &other.0)
}
}Ord, #[automatically_derived]impl ::core::hash::Hash for Symbol {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
::core::hash::Hash::hash(&self.0, state)
}
}Hash)]
2719pub struct Symbol(SymbolIndex);
2720
2721impl<E> ContextOrd<E> for Symbol {
2722 fn stable_cmp_with_context(_context: E) -> impl FnMut(&Self, &Self) -> std::cmp::Ordering {
2723 StableCompare::stable_cmp
2724 }
2725}
2726
2727#[automatically_derived]impl ::core::marker::Copy for SymbolIndex { }
impl SymbolIndex {
#[doc = r" Maximum value the index can take, as a `u32`."]
const MAX_AS_U32: u32 = 0xFFFF_FF00;
#[doc = r" Maximum value the index can take."]
const MAX: Self = Self::from_u32(0xFFFF_FF00);
#[doc = r" Zero value of the index."]
const ZERO: Self = Self::from_u32(0);
#[doc = r" Creates a new index from a given `usize`."]
#[doc = r""]
#[doc = r" # Panics"]
#[doc = r""]
#[doc = r" Will panic if `value` exceeds `MAX`."]
#[inline]
const fn from_usize(value: usize) -> Self {
if !(value <= (0xFFFF_FF00 as usize)) {
::core::panicking::panic("assertion failed: value <= (0xFFFF_FF00 as usize)")
};
unsafe { Self::from_u32_unchecked(value as u32) }
}
#[doc = r" Creates a new index from a given `u32`."]
#[doc = r""]
#[doc = r" # Panics"]
#[doc = r""]
#[doc = r" Will panic if `value` exceeds `MAX`."]
#[inline]
const fn from_u32(value: u32) -> Self {
if !(value <= 0xFFFF_FF00) {
::core::panicking::panic("assertion failed: value <= 0xFFFF_FF00")
};
unsafe { Self::from_u32_unchecked(value) }
}
#[doc = r" Creates a new index from a given `u16`."]
#[doc = r""]
#[doc = r" # Panics"]
#[doc = r""]
#[doc = r" Will panic if `value` exceeds `MAX`."]
#[inline]
const fn from_u16(value: u16) -> Self {
let value = value as u32;
if !(value <= 0xFFFF_FF00) {
::core::panicking::panic("assertion failed: value <= 0xFFFF_FF00")
};
unsafe { Self::from_u32_unchecked(value) }
}
#[doc = r" Creates a new index from a given `u32`."]
#[doc = r""]
#[doc = r" # Safety"]
#[doc = r""]
#[doc =
r" The provided value must be less than or equal to the maximum value for the newtype."]
#[doc =
r" Providing a value outside this range is undefined due to layout restrictions."]
#[doc = r""]
#[doc = r" Prefer using `from_u32`."]
#[inline]
const unsafe fn from_u32_unchecked(value: u32) -> Self {
Self {
private_use_as_methods_instead: unsafe {
std::mem::transmute(value)
},
}
}
#[doc = r" Extracts the value of this index as a `usize`."]
#[inline]
const fn index(self) -> usize { self.as_usize() }
#[doc = r" Extracts the value of this index as a `u32`."]
#[inline]
const fn as_u32(self) -> u32 {
unsafe { std::mem::transmute(self.private_use_as_methods_instead) }
}
#[doc = r" Extracts the value of this index as a `usize`."]
#[inline]
const fn as_usize(self) -> usize { self.as_u32() as usize }
}
impl std::ops::Add<usize> for SymbolIndex {
type Output = Self;
#[inline]
fn add(self, other: usize) -> Self {
Self::from_usize(self.index() + other)
}
}
impl std::ops::AddAssign<usize> for SymbolIndex {
#[inline]
fn add_assign(&mut self, other: usize) { *self = *self + other; }
}
impl rustc_index::Idx for SymbolIndex {
#[inline]
fn new(value: usize) -> Self { Self::from_usize(value) }
#[inline]
fn index(self) -> usize { self.as_usize() }
}
impl ::std::iter::Step for SymbolIndex {
#[inline]
fn steps_between(start: &Self, end: &Self) -> (usize, Option<usize>) {
<usize as
::std::iter::Step>::steps_between(&Self::index(*start),
&Self::index(*end))
}
#[inline]
fn forward_checked(start: Self, u: usize) -> Option<Self> {
Self::index(start).checked_add(u).map(Self::from_usize)
}
#[inline]
fn backward_checked(start: Self, u: usize) -> Option<Self> {
Self::index(start).checked_sub(u).map(Self::from_usize)
}
#[inline]
fn forward_overflowing(start: Self, u: usize) -> (Self, bool) {
let (s, o) = Self::index(start).overflowing_add(u);
(Self::from_usize(s), o)
}
#[inline]
fn backward_overflowing(start: Self, u: usize) -> (Self, bool) {
let (s, o) = Self::index(start).overflowing_sub(u);
(Self::from_usize(s), o)
}
}
impl ::std::cmp::Ord for SymbolIndex {
#[inline]
fn cmp(&self, other: &Self) -> std::cmp::Ordering {
self.as_u32().cmp(&other.as_u32())
}
}
impl ::std::cmp::PartialOrd for SymbolIndex {
#[inline]
fn partial_cmp(&self, other: &Self) -> Option<std::cmp::Ordering> {
Some(self.cmp(other))
}
}
impl From<SymbolIndex> for u32 {
#[inline]
fn from(v: SymbolIndex) -> u32 { v.as_u32() }
}
impl From<SymbolIndex> for usize {
#[inline]
fn from(v: SymbolIndex) -> usize { v.as_usize() }
}
impl From<usize> for SymbolIndex {
#[inline]
fn from(value: usize) -> Self { Self::from_usize(value) }
}
impl From<u32> for SymbolIndex {
#[inline]
fn from(value: u32) -> Self { Self::from_u32(value) }
}
impl ::std::cmp::Eq for SymbolIndex {}
impl ::std::cmp::PartialEq for SymbolIndex {
fn eq(&self, other: &Self) -> bool { self.as_u32().eq(&other.as_u32()) }
}
impl ::std::marker::StructuralPartialEq for SymbolIndex {}
impl ::std::hash::Hash for SymbolIndex {
fn hash<H: ::std::hash::Hasher>(&self, state: &mut H) {
self.as_u32().hash(state)
}
}
impl ::std::fmt::Debug for SymbolIndex {
fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
fmt.write_fmt(format_args!("{0}", self.as_u32()))
}
}rustc_index::newtype_index! {
2729 #[orderable]
2730 struct SymbolIndex {}
2731}
2732
2733impl Symbol {
2734 pub const fn new(n: u32) -> Self {
2737 Symbol(SymbolIndex::from_u32(n))
2738 }
2739
2740 #[rustc_diagnostic_item = "SymbolIntern"]
2742 #[inline]
2743 pub fn intern(str: &str) -> Self {
2744 with_session_globals(|session_globals| session_globals.symbol_interner.intern_str(str))
2745 }
2746
2747 #[inline]
2756 pub fn as_str(&self) -> &str {
2757 with_session_globals(|session_globals| unsafe {
2758 std::mem::transmute::<&str, &str>(session_globals.symbol_interner.get_str(*self))
2759 })
2760 }
2761
2762 pub fn as_u32(self) -> u32 {
2763 self.0.as_u32()
2764 }
2765
2766 pub fn is_empty(self) -> bool {
2767 self == sym::empty
2768 }
2769
2770 pub fn to_ident_string(self) -> String {
2775 if self == sym::empty { String::new() } else { Ident::with_dummy_span(self).to_string() }
2777 }
2778
2779 pub fn find_similar(
2786 self,
2787 candidates: &[Symbol],
2788 ) -> Option<(Symbol, bool)> {
2789 let lowercase = self.as_str().to_lowercase();
2790 let lowercase_sym = Symbol::intern(&lowercase);
2791 if candidates.contains(&lowercase_sym) {
2792 Some((lowercase_sym, true))
2793 } else if let Some(similar_sym) = find_best_match_for_name(candidates, self, None) {
2794 Some((similar_sym, false))
2795 } else {
2796 None
2797 }
2798 }
2799}
2800
2801impl fmt::Debug for Symbol {
2802 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
2803 fmt::Debug::fmt(self.as_str(), f)
2804 }
2805}
2806
2807impl fmt::Display for Symbol {
2808 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
2809 fmt::Display::fmt(self.as_str(), f)
2810 }
2811}
2812
2813impl StableHash for Symbol {
2814 #[inline]
2815 fn stable_hash<Hcx: StableHashCtxt>(&self, hcx: &mut Hcx, hasher: &mut StableHasher) {
2816 self.as_str().stable_hash(hcx, hasher);
2817 }
2818}
2819
2820impl StableCompare for Symbol {
2821 const CAN_USE_UNSTABLE_SORT: bool = true;
2822
2823 fn stable_cmp(&self, other: &Self) -> std::cmp::Ordering {
2824 self.as_str().cmp(other.as_str())
2825 }
2826}
2827
2828#[derive(#[automatically_derived]#[doc(hidden)]unsafe impl ::core::clone::TrivialClone
for ByteSymbol {
}
#[automatically_derived]impl ::core::clone::Clone for ByteSymbol {
#[inline]
fn clone(&self) -> Self {
let _: ::core::clone::AssertParamIsClone<SymbolIndex>;
*self
}
}Clone, #[automatically_derived]impl ::core::marker::Copy for ByteSymbol { }Copy, #[automatically_derived]impl ::core::marker::StructuralPartialEq for
ByteSymbol {
}
#[automatically_derived]impl ::core::cmp::PartialEq for ByteSymbol {
#[inline]
fn eq(&self, other: &Self) -> bool { self.0 == other.0 }
}PartialEq, #[automatically_derived]impl ::core::cmp::Eq for ByteSymbol {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<SymbolIndex>;
}
}Eq, #[automatically_derived]impl ::core::cmp::PartialOrd for ByteSymbol {
#[inline]
fn partial_cmp(&self, other: &Self)
-> ::core::option::Option<::core::cmp::Ordering> {
::core::option::Option::Some(::core::cmp::Ord::cmp(self, other))
}
}PartialOrd, #[automatically_derived]impl ::core::cmp::Ord for ByteSymbol {
#[inline]
fn cmp(&self, other: &Self) -> ::core::cmp::Ordering {
::core::cmp::Ord::cmp(&self.0, &other.0)
}
}Ord, #[automatically_derived]impl ::core::hash::Hash for ByteSymbol {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
::core::hash::Hash::hash(&self.0, state)
}
}Hash)]
2831pub struct ByteSymbol(SymbolIndex);
2832
2833impl ByteSymbol {
2834 pub const fn new(n: u32) -> Self {
2837 ByteSymbol(SymbolIndex::from_u32(n))
2838 }
2839
2840 pub fn intern(byte_str: &[u8]) -> Self {
2842 with_session_globals(|session_globals| {
2843 session_globals.symbol_interner.intern_byte_str(byte_str)
2844 })
2845 }
2846
2847 pub fn as_byte_str(&self) -> &[u8] {
2849 with_session_globals(|session_globals| unsafe {
2850 std::mem::transmute::<&[u8], &[u8]>(session_globals.symbol_interner.get_byte_str(*self))
2851 })
2852 }
2853
2854 pub fn as_u32(self) -> u32 {
2855 self.0.as_u32()
2856 }
2857}
2858
2859impl fmt::Debug for ByteSymbol {
2860 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
2861 fmt::Debug::fmt(self.as_byte_str(), f)
2862 }
2863}
2864
2865impl StableHash for ByteSymbol {
2866 #[inline]
2867 fn stable_hash<Hcx: StableHashCtxt>(&self, hcx: &mut Hcx, hasher: &mut StableHasher) {
2868 self.as_byte_str().stable_hash(hcx, hasher);
2869 }
2870}
2871
2872pub(crate) struct Interner(Lock<InternerInner>);
2877
2878struct InternerInner {
2884 arena: DroplessArena,
2885 indices: HashTable<(&'static [u8], u32)>,
2886 byte_strs: Vec<&'static [u8]>,
2887}
2888
2889impl Interner {
2890 fn prefill(init: &[&'static str], extra: &[&'static str]) -> Self {
2894 let values = init.iter().copied().chain(extra.iter().copied()).map(|str| str.as_bytes());
2895 let additional_capacity = 2400;
2903 let size_hint = values.size_hint().0 + additional_capacity;
2904 let mut conflicting_values: Vec<&[u8]> = Vec::new();
2905
2906 let mut indices: HashTable<(&'static [u8], u32)> = HashTable::with_capacity(size_hint);
2907 let hasher = FxBuildHasher::default();
2908
2909 let mut byte_strs: Vec<&'static [u8]> = Vec::with_capacity(size_hint);
2910
2911 for v in values {
2912 match indices.entry(hasher.hash_one(&v), |&(s, _)| s == v, |&(s, _)| hasher.hash_one(s))
2913 {
2914 Entry::Occupied(v) => conflicting_values.push(v.get().0),
2915 Entry::Vacant(view) => {
2916 view.insert((v, byte_strs.len() as u32));
2917 byte_strs.push(v);
2918 }
2919 }
2920 }
2921
2922 if conflicting_values.len() != 0 {
2923 {
::core::panicking::panic_fmt(format_args!("duplicate symbols in the rustc symbol list and the extra symbols added by the driver: {0:?}",
conflicting_values));
}panic!(
2924 "duplicate symbols in the rustc symbol list and the extra symbols added by the driver: {:?}",
2925 conflicting_values
2926 )
2927 }
2928
2929 Interner(Lock::new(InternerInner { arena: Default::default(), indices, byte_strs }))
2930 }
2931
2932 fn intern_str(&self, str: &str) -> Symbol {
2933 Symbol::new(self.intern_inner(str.as_bytes()))
2934 }
2935
2936 fn intern_byte_str(&self, byte_str: &[u8]) -> ByteSymbol {
2937 ByteSymbol::new(self.intern_inner(byte_str))
2938 }
2939
2940 #[inline]
2941 fn intern_inner(&self, byte_str: &[u8]) -> u32 {
2942 let hasher = FxBuildHasher::default();
2943 let hash_of_byte_str = hasher.hash_one(byte_str);
2944
2945 self.0.with_lock(|inner| {
2946 match inner.indices.entry(
2947 hash_of_byte_str,
2948 |&(s, _)| s == byte_str,
2949 |&(s, _)| hasher.hash_one(s),
2950 ) {
2951 Entry::Occupied(v) => v.get().1,
2952 Entry::Vacant(view) => {
2953 let byte_str: &[u8] = inner.arena.alloc_slice(byte_str);
2954
2955 let byte_str: &'static [u8] = unsafe { &*(byte_str as *const [u8]) };
2958 let idx = inner.byte_strs.len() as u32;
2959 view.insert((byte_str, idx));
2960 inner.byte_strs.push(byte_str);
2961 idx
2962 }
2963 }
2964 })
2965 }
2966
2967 fn get_str(&self, symbol: Symbol) -> &str {
2971 let byte_str = self.get_inner(symbol.0.as_usize());
2972 unsafe { str::from_utf8_unchecked(byte_str) }
2974 }
2975
2976 fn get_byte_str(&self, symbol: ByteSymbol) -> &[u8] {
2980 self.get_inner(symbol.0.as_usize())
2981 }
2982
2983 fn get_inner(&self, index: usize) -> &[u8] {
2984 self.0.with_lock(|inner| inner.byte_strs[index])
2985 }
2986}
2987
2988pub mod kw {
2994 pub use super::kw_generated::*;
2995}
2996
2997#[cfg_attr(
3003 bootstrap,
3004 diagnostic::on_unknown(
3005 label = "`{Unresolved}` is not a pre-interned symbol",
3006 note = "consider adding `{Unresolved}` to the `symbols!` invocation in compiler/rustc_span/src/symbol.rs"
3007 )
3008)]
3009#[cfg_attr(
3010 not(bootstrap),
3011 diagnostic::on_unknown(
3012 label = "`{unresolved}` is not a pre-interned symbol",
3013 note = "consider adding `{unresolved}` to the `symbols!` invocation in compiler/rustc_span/src/symbol.rs"
3014 )
3015)]
3016pub mod sym {
3017 use super::Symbol;
3018 pub use super::kw::MacroRules as macro_rules;
3020 #[doc(inline)]
3021 pub use super::sym_generated::*;
3022
3023 pub const C: Symbol = ascii_letter_digit('C').unwrap();
3025
3026 #[expect(non_upper_case_globals)]
3028 pub const f: Symbol = ascii_letter_digit('f').unwrap();
3029 #[expect(non_upper_case_globals)]
3030 pub const d: Symbol = ascii_letter_digit('d').unwrap();
3031
3032 pub fn integer<N: TryInto<usize> + Copy + itoa::Integer>(n: N) -> Symbol {
3037 if let Result::Ok(idx) = n.try_into() {
3038 if idx < 10 {
3039 return Symbol::new(super::SYMBOL_DIGITS_BASE + idx as u32);
3040 }
3041 }
3042 let mut buffer = itoa::Buffer::new();
3043 let printed = buffer.format(n);
3044 Symbol::intern(printed)
3045 }
3046
3047 pub const fn ascii_letter_digit(c: char) -> Option<Symbol> {
3048 let i = c as u32;
3049 Option::Some(Symbol::new(match c {
3050 '0'..='9' => super::SYMBOL_DIGITS_BASE + (i - '0' as u32),
3051 'A'..='Z' => super::SYMBOL_UPPERCASE_LETTERS_BASE + (i - 'A' as u32),
3052 'a'..='z' => super::SYMBOL_LOWERCASE_LETTERS_BASE + (i - 'a' as u32),
3053 _ => return Option::None,
3054 }))
3055 }
3056
3057 pub fn character(c: char) -> Symbol {
3058 ascii_letter_digit(c).unwrap_or_else(|| {
3059 let mut buf: [u8; char::MAX_LEN_UTF8] = Default::default();
3060 Symbol::intern(c.encode_utf8(&mut buf))
3061 })
3062 }
3063}
3064
3065impl Symbol {
3066 fn is_special(self) -> bool {
3067 self <= kw::Underscore
3068 }
3069
3070 fn is_used_keyword_always(self) -> bool {
3071 self >= kw::As && self <= kw::While
3072 }
3073
3074 fn is_unused_keyword_always(self) -> bool {
3075 self >= kw::Abstract && self <= kw::Yield
3076 }
3077
3078 fn is_used_keyword_conditional(self, edition: impl FnOnce() -> Edition) -> bool {
3079 (self >= kw::Async && self <= kw::Dyn) && edition() >= Edition::Edition2018
3080 }
3081
3082 fn is_unused_keyword_conditional(self, edition: impl Copy + FnOnce() -> Edition) -> bool {
3083 self == kw::Gen && edition().at_least_rust_2024()
3084 || self == kw::Try && edition().at_least_rust_2018()
3085 }
3086
3087 pub fn is_reserved(self, edition: impl Copy + FnOnce() -> Edition) -> bool {
3088 self.is_special()
3089 || self.is_used_keyword_always()
3090 || self.is_unused_keyword_always()
3091 || self.is_used_keyword_conditional(edition)
3092 || self.is_unused_keyword_conditional(edition)
3093 }
3094
3095 pub fn is_weak(self) -> bool {
3096 self >= kw::Auto && self <= kw::Yeet
3097 }
3098
3099 pub fn is_path_segment_keyword(self) -> bool {
3101 self == kw::Super
3102 || self == kw::SelfLower
3103 || self == kw::SelfUpper
3104 || self == kw::Crate
3105 || self == kw::PathRoot
3106 || self == kw::DollarCrate
3107 }
3108
3109 pub fn is_bool_lit(self) -> bool {
3111 self == kw::True || self == kw::False
3112 }
3113
3114 pub fn can_be_raw(self) -> bool {
3116 self != sym::empty && self != kw::Underscore && !self.is_path_segment_keyword()
3117 }
3118
3119 pub fn is_predefined(index: u32) -> bool {
3123 index < PREDEFINED_SYMBOLS_COUNT
3124 }
3125}
3126
3127impl Ident {
3128 pub fn is_special(self) -> bool {
3131 self.name.is_special()
3132 }
3133
3134 pub fn is_used_keyword(self) -> bool {
3136 self.name.is_used_keyword_always()
3138 || self.name.is_used_keyword_conditional(|| self.span.edition())
3139 }
3140
3141 pub fn is_unused_keyword(self) -> bool {
3143 self.name.is_unused_keyword_always()
3145 || self.name.is_unused_keyword_conditional(|| self.span.edition())
3146 }
3147
3148 pub fn is_reserved(self) -> bool {
3150 self.name.is_reserved(|| self.span.edition())
3152 }
3153
3154 pub fn is_path_segment_keyword(self) -> bool {
3156 self.name.is_path_segment_keyword()
3157 }
3158
3159 pub fn is_raw_guess(self) -> bool {
3162 self.name.can_be_raw() && self.is_reserved()
3163 }
3164
3165 pub fn is_reserved_lifetime(self) -> bool {
3168 self.is_reserved() && ![kw::Underscore, kw::Static].contains(&self.name)
3169 }
3170
3171 pub fn is_raw_lifetime_guess(self) -> bool {
3172 if self.name.as_str() == "'" {
3175 return false;
3176 }
3177 let ident_without_apostrophe = self.without_first_quote();
3178 ident_without_apostrophe.name != self.name
3179 && ident_without_apostrophe.name.can_be_raw()
3180 && ident_without_apostrophe.is_reserved_lifetime()
3181 }
3182
3183 pub fn guess_print_mode(self) -> IdentPrintMode {
3184 if self.is_raw_lifetime_guess() {
3185 IdentPrintMode::RawLifetime
3186 } else if self.is_raw_guess() {
3187 IdentPrintMode::RawIdent
3188 } else {
3189 IdentPrintMode::Normal
3190 }
3191 }
3192
3193 pub fn is_numeric(self) -> bool {
3196 self.as_str().bytes().all(|b| b.is_ascii_digit())
3197 }
3198}
3199
3200pub fn used_keywords(edition: impl Copy + FnOnce() -> Edition) -> Vec<Symbol> {
3205 (kw::DollarCrate.as_u32()..kw::Yeet.as_u32())
3206 .filter_map(|kw| {
3207 let kw = Symbol::new(kw);
3208 if kw.is_used_keyword_always() || kw.is_used_keyword_conditional(edition) {
3209 Some(kw)
3210 } else {
3211 None
3212 }
3213 })
3214 .collect()
3215}