1. The Unstable Book
  2. Compiler environment variables
    1. COLORTERM
    2. QNX_TARGET
    3. RUSTC_BLESS
    4. RUSTC_BOOTSTRAP
    5. RUSTC_BREAK_ON_ICE
    6. RUSTC_CTFE_BACKTRACE
    7. RUSTC_FORCE_RUSTC_VERSION
    8. RUSTC_GRAPHVIZ_FONT
    9. RUSTC_ICE
    10. RUSTC_LOG
    11. RUSTC_OVERRIDE_VERSION_STRING
    12. RUSTC_WINDOWS_RC
    13. RUST_BACKTRACE
    14. RUST_DEP_GRAPH
    15. RUST_DEP_GRAPH_FILTER
    16. RUST_FORBID_DEP_GRAPH_EDGE
    17. RUST_MIN_STACK
    18. RUST_TARGET_PATH
    19. SDKROOT
    20. TERM
    21. UNSTABLE_RUSTDOC_TEST_LINE
    22. UNSTABLE_RUSTDOC_TEST_PATH
  3. Compiler flags
    1. allow_features
    2. annotate_moves
    3. autodiff
    4. branch_protection
    5. cache_proc_macros
    6. cf_protection
    7. codegen_backend
    8. codegen_options
    9. codegen_source_order
    10. control_flow_guard
    11. coverage_options
    12. crate_attr
    13. debug_info_for_profiling
    14. debug_info_type_line_numbers
    15. default_visibility
    16. direct_access_external_data
    17. dump_mono_stats
    18. dump_mono_stats_format
    19. dylib_lto
    20. eagerly_emit_delayed_bugs
    21. embed_metadata
    22. embed_source
    23. emit_stack_sizes
    24. emscripten_wasm_eh
    25. env_set
    26. export_executable_symbols
    27. extern_options
    28. external_clangrt
    29. fixed_x18
    30. fmt_debug
    31. function_return
    32. hint_mostly_unused
    33. indirect_branch_cs_prefix
    34. instrument_xray
    35. large_data_threshold
    36. link_native_libraries
    37. lint_llvm_ir
    38. llvm_module_flag
    39. llvm_writable
    40. location_detail
    41. macro_stats
    42. min_function_alignment
    43. min_recursive_limit
    44. move_size_limit
    45. no_parallel_llvm
    46. no_steal_thir
    47. no_unique_section_names
    48. offload
    49. on_broken_pipe
    50. patchable_function_entry
    51. print_check_cfg
    52. print_crate_root_lint_levels
    53. print_supported_crate_types
    54. profile_sample_use
    55. randomize_layout
    56. reg_struct_return
    57. regparm
    58. remap_cwd_prefix
    59. report_time
    60. sanitizer
    61. self_profile
    62. self_profile_events
    63. shell_argfiles
    64. small_data_threshold
    65. split_dwarf_out_dir
    66. src_hash_algorithm
    67. temps_dir
    68. terminal_urls
    69. tiny_const_eval_limit
    70. tls_model
    71. track_diagnostics
    72. treat_err_as_bug
    73. ub_checks
    74. unsound_mir_opts
    75. verbose_asm
    76. virtual_function_elimination
    77. wasm_c_abi
  4. Language features
    1. aarch64_unstable_target_feature
    2. aarch64_ver_target_feature
    3. abi_avr_interrupt
    4. abi_cmse_nonsecure_call
    5. abi_custom
    6. abi_gpu_kernel
    7. abi_msp430_interrupt
    8. abi_ptx
    9. abi_riscv_interrupt
    10. abi_unadjusted
    11. abi_vectorcall
    12. abi_x86_interrupt
    13. adt_const_params
    14. alloc_error_handler
    15. allocator_internals
    16. allow_internal_unsafe
    17. allow_internal_unstable
    18. anonymous_lifetime_in_impl_trait
    19. apx_target_feature
    20. arbitrary_self_types
    21. arbitrary_self_types_pointers
    22. arm_target_feature
    23. asm_experimental_arch
    24. asm_experimental_reg
    25. asm_goto_with_outputs
    26. asm_unwind
    27. associated_type_defaults
    28. async_drop
    29. async_fn_in_dyn_trait
    30. async_fn_track_caller
    31. async_for_loop
    32. async_trait_bounds
    33. auto_traits
    34. avr_target_feature
    35. avx10_target_feature
    36. box_patterns
    37. bpf_target_feature
    38. builtin_syntax
    39. c_variadic
    40. c_variadic_naked_functions
    41. cfg_contract_checks
    42. cfg_emscripten_wasm_eh
    43. cfg_overflow_checks
    44. cfg_relocation_model
    45. cfg_sanitize
    46. cfg_sanitizer_cfi
    47. cfg_target_compact
    48. cfg_target_has_atomic
    49. cfg_target_has_atomic_equal_alignment
    50. cfg_target_has_reliable_f16_f128
    51. cfg_target_object_format
    52. cfg_target_thread_local
    53. cfg_ub_checks
    54. cfg_version
    55. cfi_encoding
    56. closure_lifetime_binder
    57. closure_track_caller
    58. cmse_nonsecure_entry
    59. compiler_builtins
    60. const_async_blocks
    61. const_block_items
    62. const_c_variadic
    63. const_closures
    64. const_destruct
    65. const_for
    66. const_precise_live_drops
    67. const_trait_impl
    68. const_try
    69. contracts
    70. contracts_internals
    71. coroutine_clone
    72. coroutines
    73. coverage_attribute
    74. csky_target_feature
    75. custom_inner_attributes
    76. custom_mir
    77. custom_test_frameworks
    78. decl_macro
    79. default_field_values
    80. deprecated_suggestion
    81. deref_patterns
    82. derive_from
    83. diagnostic_on_const
    84. diagnostic_on_move
    85. diagnostic_on_unknown
    86. diagnostic_on_unmatch_args
    87. doc_cfg
    88. doc_masked
    89. doc_notable_trait
    90. dropck_eyepatch
    91. effective_target_features
    92. eii_internals
    93. ergonomic_clones
    94. ermsb_target_feature
    95. exhaustive_patterns
    96. explicit_extern_abis
    97. explicit_tail_calls
    98. export_stable
    99. extern_item_impls
    100. extern_types
    101. f128
    102. f16
    103. ffi_const
    104. ffi_pure
    105. field_projections
    106. field_representing_type_raw
    107. final_associated_functions
    108. fma4_target_feature
    109. fmt_debug
    110. fn_align
    111. fn_delegation
    112. freeze_impls
    113. frontmatter
    114. fundamental
    115. gen_blocks
    116. generic_assert
    117. generic_const_args
    118. generic_const_exprs
    119. generic_const_items
    120. generic_const_parameter_types
    121. generic_pattern_types
    122. global_registration
    123. guard_patterns
    124. half_open_range_patterns_in_slices
    125. hexagon_target_feature
    126. impl_restriction
    127. impl_trait_in_assoc_type
    128. impl_trait_in_bindings
    129. impl_trait_in_fn_trait_return
    130. import_trait_associated_functions
    131. inherent_associated_types
    132. intra_doc_pointers
    133. intrinsics
    134. lahfsahf_target_feature
    135. lang_items
    136. large_assignments
    137. lazy_type_alias
    138. link_arg_attribute
    139. link_cfg
    140. link_llvm_intrinsics
    141. linkage
    142. loongarch_target_feature
    143. loop_match
    144. m68k_target_feature
    145. macro_attr
    146. macro_derive
    147. macro_guard_matcher
    148. macro_metavar_expr
    149. macro_metavar_expr_concat
    150. marker_trait_attr
    151. mgca_type_const_syntax
    152. min_adt_const_params
    153. min_generic_const_args
    154. min_specialization
    155. mips_target_feature
    156. more_maybe_bounds
    157. more_qualified_paths
    158. movrs_target_feature
    159. multiple_supertrait_upcastable
    160. must_not_suspend
    161. mut_ref
    162. naked_functions_rustic_abi
    163. naked_functions_target_feature
    164. native_link_modifiers_as_needed
    165. needs_panic_runtime
    166. negative_bounds
    167. negative_impls
    168. never_patterns
    169. never_type
    170. new_range
    171. no_core
    172. non_exhaustive_omitted_patterns_lint
    173. non_lifetime_binders
    174. nvptx_target_feature
    175. offset_of_enum
    176. offset_of_slice
    177. optimize_attribute
    178. panic_runtime
    179. patchable_function_entry
    180. pattern_complexity_limit
    181. pattern_types
    182. pin_ergonomics
    183. postfix_match
    184. powerpc_target_feature
    185. prelude_import
    186. prfchw_target_feature
    187. proc_macro_hygiene
    188. profiler_runtime
    189. raw_dylib_elf
    190. reborrow
    191. ref_pat_eat_one_layer_2024
    192. ref_pat_eat_one_layer_2024_structural
    193. register_tool
    194. repr_simd
    195. return_type_notation
    196. riscv_target_feature
    197. rtm_target_feature
    198. rust_cold_cc
    199. rust_preserve_none_cc
    200. rustc_attrs
    201. rustc_private
    202. rustdoc_internals
    203. rustdoc_missing_doc_code_examples
    204. s390x_target_feature
    205. sanitize
    206. simd_ffi
    207. sized_hierarchy
    208. sparc_target_feature
    209. specialization
    210. staged_api
    211. static_align
    212. stmt_expr_attributes
    213. strict_provenance_lints
    214. structural_match
    215. super_let
    216. supertrait_item_shadowing
    217. target_feature_inline_always
    218. test_incomplete_feature
    219. test_unstable_lint
    220. thread_local
    221. trait_alias
    222. transmute_generic_consts
    223. transparent_unions
    224. trivial_bounds
    225. try_blocks
    226. try_blocks_heterogeneous
    227. type_alias_impl_trait
    228. type_changing_struct_update
    229. unboxed_closures
    230. unqualified_local_imports
    231. unsafe_binders
    232. unsafe_fields
    233. unsized_const_params
    234. unsized_fn_params
    235. used_with_arg
    236. wasm_target_feature
    237. where_clause_attrs
    238. with_negative_coherence
    239. x86_amx_intrinsics
    240. x87_target_feature
    241. xop_target_feature
    242. yeet_expr
    243. yield_expr
  5. Library Features
    1. abort_immediate
    2. abort_unwind
    3. acceptfilter
    4. addr_parse_ascii
    5. align_to_uninit_mut
    6. alloc_error_hook
    7. alloc_internals
    8. alloc_slice_into_array
    9. allocator_api
    10. alloctests
    11. arc_is_unique
    12. array_into_iter_constructors
    13. array_ptr_get
    14. array_try_from_fn
    15. array_try_map
    16. ascii_char
    17. ascii_char_variants
    18. async_fn_traits
    19. async_gen_internals
    20. async_iter_from_iter
    21. async_iterator
    22. atomic_from_mut
    23. atomic_internals
    24. atomic_ptr_null
    25. autodiff
    26. backtrace_frames
    27. bikeshed_guaranteed_no_drop
    28. binary_heap_as_mut_slice
    29. binary_heap_drain_sorted
    30. binary_heap_from_raw_vec
    31. binary_heap_into_iter_sorted
    32. binary_heap_peek_mut_refresh
    33. binary_heap_pop_if
    34. bool_to_result
    35. borrowed_buf_init
    36. bound_as_ref
    37. bound_copied
    38. box_as_ptr
    39. box_into_boxed_slice
    40. box_into_inner
    41. box_take
    42. box_vec_non_null
    43. breakpoint
    44. bstr
    45. bstr_internals
    46. btree_cursors
    47. btree_merge
    48. btree_set_entry
    49. btreemap_alloc
    50. buf_read_has_data_left
    51. bufreader_peek
    52. c_size_t
    53. c_void_variant
    54. can_vector
    55. case_ignorable
    56. cast_maybe_uninit
    57. cell_get_cloned
    58. cell_leak
    59. cfg_accessible
    60. cfg_eval
    61. char_internals
    62. clamp_magnitude
    63. clone_from_ref
    64. clone_to_uninit
    65. cmp_minmax
    66. coerce_pointee_validated
    67. coerce_unsized
    68. command_resolved_envs
    69. concat_bytes
    70. const_alloc_error
    71. const_array
    72. const_bool
    73. const_btree_len
    74. const_carrying_mul_add
    75. const_cell_traits
    76. const_clone
    77. const_cmp
    78. const_control_flow
    79. const_convert
    80. const_default
    81. const_drop_guard
    82. const_drop_in_place
    83. const_eval_select
    84. const_format_args
    85. const_heap
    86. const_index
    87. const_iter
    88. const_manually_drop_take
    89. const_never_short_circuit
    90. const_nonnull_with_exposed_provenance
    91. const_ops
    92. const_option_ops
    93. const_param_ty_trait
    94. const_path_separators
    95. const_range
    96. const_range_bounds
    97. const_raw_ptr_comparison
    98. const_ref_cell
    99. const_result_trait_fn
    100. const_result_unwrap_unchecked
    101. const_select_unpredictable
    102. const_slice_from_mut_ptr_range
    103. const_slice_from_ptr_range
    104. const_slice_make_iter
    105. const_split_off_first_last
    106. const_swap_with_slice
    107. const_try_residual
    108. const_type_name
    109. const_unsigned_bigint_helpers
    110. container_error_extra
    111. context_ext
    112. control_flow_into_value
    113. convert_float_to_int
    114. copied_into_inner
    115. core_float_math
    116. core_intrinsics
    117. core_intrinsics_fallbacks
    118. core_io
    119. core_io_borrowed_buf
    120. core_io_internals
    121. core_private_bignum
    122. core_private_diy_float
    123. coroutine_trait
    124. cow_is_borrowed
    125. cstr_bytes
    126. cstr_display
    127. cstr_internals
    128. current_thread_id
    129. cursor_split
    130. darwin_objc
    131. deadline_api
    132. debug_closure_helpers
    133. dec2flt
    134. deque_extend_front
    135. deref_pure_trait
    136. derive_clone_copy_internals
    137. derive_coerce_pointee
    138. derive_const
    139. derive_eq_internals
    140. derive_macro_global_path
    141. dir_entry_ext2
    142. dirfd
    143. dirhandle
    144. discriminant_kind
    145. disjoint_bitor
    146. dispatch_from_dyn
    147. downcast_unchecked
    148. drain_keep_rest
    149. drop_guard
    150. duration_constants
    151. duration_constructors
    152. duration_integer_division
    153. duration_millis_float
    154. duration_units
    155. edition_panic
    156. error_generic_member_access
    157. error_iter
    158. error_reporter
    159. error_type_id
    160. exact_bitshifts
    161. exact_div
    162. exact_size_is_empty
    163. exclusive_wrapper
    164. exit_status_error
    165. exitcode_exit_method
    166. extend_one
    167. extend_one_unchecked
    168. f32_from_f16
    169. fd
    170. file_buffered
    171. float_algebraic
    172. float_bits_const
    173. float_erf
    174. float_exact_integer_constants
    175. float_gamma
    176. float_masks
    177. float_minimum_maximum
    178. flt2dec
    179. fmt_arguments_from_str
    180. fmt_helpers_for_derive
    181. fmt_internals
    182. fn_ptr_trait
    183. fn_traits
    184. forget_unsized
    185. format_args_nl
    186. formatting_options
    187. freeze
    188. fs_set_times
    189. funnel_shifts
    190. future_join
    191. gen_future
    192. generic_assert_internals
    193. generic_atomic
    194. get_disjoint_mut_helpers
    195. get_mut_unchecked
    196. gethostname
    197. gpu_intrinsics
    198. hash_map_internals
    199. hash_map_macro
    200. hash_set_entry
    201. hasher_prefixfree_extras
    202. hashmap_internals
    203. hint_must_use
    204. hint_prefetch
    205. inplace_iteration
    206. int_format_into
    207. int_from_ascii
    208. int_roundings
    209. integer_atomics
    210. integer_cast_extras
    211. integer_extend_truncate
    212. internal_output_capture
    213. io_const_error
    214. io_const_error_internals
    215. io_error_inprogress
    216. io_error_more
    217. io_error_uncategorized
    218. io_slice_as_bytes
    219. ip
    220. ip_as_octets
    221. ip_multicast_reserved
    222. is_ascii_octdigit
    223. is_loongarch_feature_detected
    224. is_riscv_feature_detected
    225. iter_advance_by
    226. iter_array_chunks
    227. iter_collect_into
    228. iter_from_coroutine
    229. iter_intersperse
    230. iter_is_partitioned
    231. iter_macro
    232. iter_map_windows
    233. iter_next_chunk
    234. iter_order_by
    235. iter_partition_in_place
    236. iterator_try_collect
    237. iterator_try_reduce
    238. junction_point
    239. layout_for_ptr
    240. lazy_cell_into_inner
    241. legacy_receiver_trait
    242. liballoc_internals
    243. libstd_sys_internals
    244. likely_unlikely
    245. linked_list_cursors
    246. linked_list_remove
    247. linked_list_retain
    248. linux_pidfd
    249. local_key_cell_update
    250. local_waker
    251. lock_value_accessors
    252. log_syntax
    253. map_try_insert
    254. mapped_lock_guards
    255. maybe_dangling
    256. maybe_uninit_array_assume_init
    257. maybe_uninit_as_bytes
    258. maybe_uninit_fill
    259. maybe_uninit_uninit_array_transpose
    260. mem_conjure_zst
    261. mem_copy_fn
    262. more_float_constants
    263. motor_ext
    264. mpmc_channel
    265. mpsc_is_disconnected
    266. mutex_data_ptr
    267. new_range_api_legacy
    268. new_range_remainder
    269. next_index
    270. nonpoison_condvar
    271. nonpoison_mutex
    272. nonpoison_rwlock
    273. nonzero_bitwise
    274. nonzero_from_mut
    275. nonzero_from_str_radix
    276. nonzero_internals
    277. nonzero_ops
    278. normalize_lexically
    279. num_internals
    280. numfmt
    281. objc_class_variant
    282. objc_selector_variant
    283. once_cell_get_mut
    284. once_cell_try
    285. once_cell_try_insert
    286. one_sided_range
    287. oneshot_channel
    288. option_array_transpose
    289. option_get_or_try_insert_with
    290. option_into_flat_iter
    291. option_reduce
    292. option_reference_flattening
    293. option_zip
    294. os_str_slice
    295. os_string_truncate
    296. panic_abort
    297. panic_always_abort
    298. panic_backtrace_config
    299. panic_can_unwind
    300. panic_internals
    301. panic_unwind
    302. panic_update_hook
    303. partial_ord_chaining_methods
    304. path_absolute_method
    305. path_is_empty
    306. path_trailing_sep
    307. pattern
    308. pattern_type_macro
    309. pattern_type_range_trait
    310. peer_credentials_unix_socket
    311. phantom_variance_markers
    312. pin_coerce_unsized_trait
    313. pin_derefmut_internals
    314. pointer_is_aligned_to
    315. pointer_try_cast_aligned
    316. portable_simd
    317. prelude_future
    318. prelude_next
    319. print_internals
    320. proc_macro_def_site
    321. proc_macro_diagnostic
    322. proc_macro_expand
    323. proc_macro_internals
    324. proc_macro_quote
    325. proc_macro_span
    326. proc_macro_totokens
    327. proc_macro_tracked_env
    328. proc_macro_tracked_path
    329. proc_macro_value
    330. process_chroot
    331. process_exitcode_internals
    332. process_internals
    333. process_setsid
    334. profiler_runtime_lib
    335. profiling_marker_api
    336. ptr_alignment_type
    337. ptr_as_uninit
    338. ptr_cast_array
    339. ptr_cast_slice
    340. ptr_internals
    341. ptr_mask
    342. ptr_metadata
    343. pub_crate_should_not_need_unstable_attr
    344. random
    345. range_bounds_is_empty
    346. range_into_bounds
    347. raw_os_error_ty
    348. raw_slice_split
    349. raw_vec_internals
    350. read_array
    351. read_buf
    352. read_buf_at
    353. reentrant_lock
    354. reentrant_lock_data_ptr
    355. refcell_try_map
    356. restricted_std
    357. result_option_map_or_default
    358. rev_into_inner
    359. rt
    360. rwlock_data_ptr
    361. sealed
    362. seek_io_take_position
    363. seek_stream_len
    364. set_permissions_nofollow
    365. set_ptr_value
    366. setgroups
    367. sgx_platform
    368. signed_bigint_helpers
    369. sized_type_properties
    370. slice_concat_ext
    371. slice_concat_trait
    372. slice_from_ptr_range
    373. slice_index_methods
    374. slice_internals
    375. slice_iter_mut_as_mut_slice
    376. slice_partial_sort_unstable
    377. slice_partition_dedup
    378. slice_pattern
    379. slice_ptr_get
    380. slice_range
    381. slice_shift
    382. slice_split_once
    383. slice_swap_unchecked
    384. sliceindex_wrappers
    385. smart_pointer_try_map
    386. solid_ext
    387. sort_floats
    388. split_array
    389. split_as_slice
    390. std_internals
    391. stdarch_aarch64_feature_detection
    392. stdarch_arm_feature_detection
    393. stdarch_internal
    394. stdarch_loongarch_feature_detection
    395. stdarch_mips_feature_detection
    396. stdarch_powerpc_feature_detection
    397. stdarch_riscv_feature_detection
    398. stdio_fd_consts
    399. stdio_makes_pipe
    400. stdio_swap
    401. step_trait
    402. str_as_str
    403. str_from_raw_parts
    404. str_from_utf16_endian
    405. str_internals
    406. str_lines_remainder
    407. str_split_inclusive_remainder
    408. str_split_remainder
    409. str_split_whitespace_remainder
    410. string_from_utf8_lossy_owned
    411. string_into_chars
    412. string_remove_matches
    413. string_replace_in_place
    414. strip_circumfix
    415. substr_range
    416. sync_nonpoison
    417. sync_poison_mod
    418. sync_unsafe_cell
    419. tcp_deferaccept
    420. tcp_linger
    421. tcplistener_into_incoming
    422. temporary_niche_types
    423. test
    424. thin_box
    425. thread_id_value
    426. thread_local_internals
    427. thread_raw
    428. thread_sleep_until
    429. thread_spawn_hook
    430. time_saturating_systemtime
    431. time_systemtime_limits
    432. titlecase
    433. trace_macros
    434. transmutability
    435. transmute_neo
    436. transmute_prefix
    437. trim_prefix_suffix
    438. trivial_clone
    439. trusted_fused
    440. trusted_len
    441. trusted_len_next_unchecked
    442. trusted_random_access
    443. trusted_step
    444. try_as_dyn
    445. try_find
    446. try_from_int_error_kind
    447. try_reserve_kind
    448. try_trait_v2
    449. try_trait_v2_residual
    450. try_trait_v2_yeet
    451. try_with_capacity
    452. tuple_trait
    453. type_ascription
    454. type_info
    455. ub_checks
    456. uefi_std
    457. uint_carryless_mul
    458. uint_gather_scatter_bits
    459. unicode_internals
    460. unique_rc_arc
    461. unix_file_vectored_at
    462. unix_mkfifo
    463. unix_send_signal
    464. unix_set_mark
    465. unix_socket_ancillary_data
    466. unix_socket_exclbind
    467. unix_socket_peek
    468. unsafe_cell_access
    469. unsafe_pinned
    470. unsafe_unpin
    471. unsize
    472. unwrap_infallible
    473. update_panic_count
    474. utf16_extra
    475. variant_count
    476. vec_deque_extract_if
    477. vec_deque_iter_as_slices
    478. vec_deque_truncate_front
    479. vec_fallible_shrink
    480. vec_from_fn
    481. vec_into_chunks
    482. vec_peek_mut
    483. vec_push_within_capacity
    484. vec_recycle
    485. vec_split_at_spare
    486. vec_try_remove
    487. waker_fn
    488. waker_from_fn_ptr
    489. wasi_ext
    490. widening_mul
    491. windows_by_handle
    492. windows_c
    493. windows_change_time
    494. windows_freeze_file_times
    495. windows_handle
    496. windows_net
    497. windows_process_exit_code_from
    498. windows_process_extensions_async_pipes
    499. windows_process_extensions_force_quotes
    500. windows_process_extensions_inherit_handles
    501. windows_process_extensions_main_thread_handle
    502. windows_process_extensions_raw_attribute
    503. windows_process_extensions_show_window
    504. windows_process_extensions_startupinfo
    505. windows_stdio
    506. windows_unix_domain_sockets
    507. wrapping_int_impl
    508. wrapping_next_power_of_two
    509. write_all_vectored
    510. wtf8_internals
    511. yeet_desugar_details