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