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