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