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