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_TRANSLATION_NO_DEBUG_ASSERT
    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. autodiff
    3. branch_protection
    4. cf_protection
    5. codegen_backend
    6. codegen_options
    7. codegen_source_order
    8. control_flow_guard
    9. coverage_options
    10. crate_attr
    11. debug_info_for_profiling
    12. debug_info_type_line_numbers
    13. default_visibility
    14. direct_access_external_data
    15. dump_mono_stats
    16. dump_mono_stats_format
    17. dylib_lto
    18. eagerly_emit_delayed_bugs
    19. embed_metadata
    20. embed_source
    21. emit_stack_sizes
    22. emscripten_wasm_eh
    23. env_set
    24. export_executable_symbols
    25. extern_options
    26. external_clangrt
    27. fixed_x18
    28. fmt_debug
    29. function_return
    30. hint_mostly_unused
    31. indirect_branch_cs_prefix
    32. instrument_xray
    33. link_native_libraries
    34. lint_llvm_ir
    35. llvm_module_flag
    36. location_detail
    37. macro_stats
    38. min_function_alignment
    39. move_size_limit
    40. no_jump_tables
    41. no_parallel_llvm
    42. no_steal_thir
    43. no_unique_section_names
    44. offload
    45. on_broken_pipe
    46. patchable_function_entry
    47. print_check_cfg
    48. print_crate_root_lint_levels
    49. print_supported_crate_types
    50. profile_sample_use
    51. randomize_layout
    52. reg_struct_return
    53. regparm
    54. remap_cwd_prefix
    55. remap_path_scope
    56. report_time
    57. sanitizer
    58. self_profile
    59. self_profile_events
    60. shell_argfiles
    61. small_data_threshold
    62. src_hash_algorithm
    63. temps_dir
    64. terminal_urls
    65. tiny_const_eval_limit
    66. tls_model
    67. track_diagnostics
    68. treat_err_as_bug
    69. ub_checks
    70. unsound_mir_opts
    71. verbose_asm
    72. virtual_function_elimination
    73. 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_cfg
    24. asm_experimental_arch
    25. asm_experimental_reg
    26. asm_goto_with_outputs
    27. asm_unwind
    28. associated_const_equality
    29. associated_type_defaults
    30. async_drop
    31. async_fn_in_dyn_trait
    32. async_fn_track_caller
    33. async_for_loop
    34. async_trait_bounds
    35. auto_traits
    36. avx10_target_feature
    37. box_patterns
    38. bpf_target_feature
    39. builtin_syntax
    40. c_variadic
    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_closures
    61. const_destruct
    62. const_for
    63. const_precise_live_drops
    64. const_trait_impl
    65. const_try
    66. contracts
    67. contracts_internals
    68. coroutine_clone
    69. coroutines
    70. coverage_attribute
    71. csky_target_feature
    72. custom_inner_attributes
    73. custom_mir
    74. custom_test_frameworks
    75. decl_macro
    76. default_field_values
    77. deprecated_safe
    78. deprecated_suggestion
    79. deref_patterns
    80. derive_from
    81. doc_auto_cfg
    82. doc_cfg
    83. doc_cfg_hide
    84. doc_masked
    85. doc_notable_trait
    86. dropck_eyepatch
    87. effective_target_features
    88. ergonomic_clones
    89. ermsb_target_feature
    90. exhaustive_patterns
    91. explicit_extern_abis
    92. explicit_tail_calls
    93. export_stable
    94. extern_system_varargs
    95. extern_types
    96. f128
    97. f16
    98. ffi_const
    99. ffi_pure
    100. fmt_debug
    101. fn_align
    102. fn_delegation
    103. freeze_impls
    104. frontmatter
    105. fundamental
    106. gen_blocks
    107. generic_assert
    108. generic_const_exprs
    109. generic_const_items
    110. generic_const_parameter_types
    111. generic_pattern_types
    112. global_registration
    113. guard_patterns
    114. half_open_range_patterns_in_slices
    115. hexagon_target_feature
    116. if_let_guard
    117. impl_trait_in_assoc_type
    118. impl_trait_in_bindings
    119. impl_trait_in_fn_trait_return
    120. import_trait_associated_functions
    121. inherent_associated_types
    122. intra_doc_pointers
    123. intrinsics
    124. lahfsahf_target_feature
    125. lang_items
    126. large_assignments
    127. lazy_type_alias
    128. link_arg_attribute
    129. link_cfg
    130. link_llvm_intrinsics
    131. linkage
    132. loongarch_target_feature
    133. loop_match
    134. m68k_target_feature
    135. macro_attr
    136. macro_derive
    137. macro_metavar_expr
    138. macro_metavar_expr_concat
    139. marker_trait_attr
    140. min_generic_const_args
    141. min_specialization
    142. mips_target_feature
    143. more_maybe_bounds
    144. more_qualified_paths
    145. movrs_target_feature
    146. multiple_supertrait_upcastable
    147. must_not_suspend
    148. mut_ref
    149. naked_functions_rustic_abi
    150. naked_functions_target_feature
    151. native_link_modifiers_as_needed
    152. needs_panic_runtime
    153. negative_bounds
    154. negative_impls
    155. never_patterns
    156. never_type
    157. never_type_fallback
    158. new_range
    159. no_core
    160. non_exhaustive_omitted_patterns_lint
    161. non_lifetime_binders
    162. nvptx_target_feature
    163. offset_of_enum
    164. offset_of_slice
    165. optimize_attribute
    166. panic_runtime
    167. patchable_function_entry
    168. pattern_complexity_limit
    169. pattern_types
    170. pin_ergonomics
    171. postfix_match
    172. powerpc_target_feature
    173. prelude_import
    174. prfchw_target_feature
    175. proc_macro_hygiene
    176. profiler_runtime
    177. raw_dylib_elf
    178. reborrow
    179. ref_pat_eat_one_layer_2024
    180. ref_pat_eat_one_layer_2024_structural
    181. register_tool
    182. repr_simd
    183. return_type_notation
    184. riscv_target_feature
    185. rtm_target_feature
    186. rust_cold_cc
    187. rustc_allow_const_fn_unstable
    188. rustc_attrs
    189. rustc_private
    190. rustdoc_internals
    191. rustdoc_missing_doc_code_examples
    192. s390x_target_feature
    193. sanitize
    194. simd_ffi
    195. sized_hierarchy
    196. sparc_target_feature
    197. specialization
    198. staged_api
    199. static_align
    200. stmt_expr_attributes
    201. strict_provenance_lints
    202. string_deref_patterns
    203. structural_match
    204. super_let
    205. supertrait_item_shadowing
    206. target_feature_inline_always
    207. test_unstable_lint
    208. thread_local
    209. trait_alias
    210. transmute_generic_consts
    211. transparent_unions
    212. trivial_bounds
    213. try_blocks
    214. type_alias_impl_trait
    215. type_changing_struct_update
    216. unboxed_closures
    217. unqualified_local_imports
    218. unsafe_binders
    219. unsafe_fields
    220. unsized_const_params
    221. unsized_fn_params
    222. used_with_arg
    223. wasm_target_feature
    224. where_clause_attrs
    225. with_negative_coherence
    226. x86_amx_intrinsics
    227. x87_target_feature
    228. xop_target_feature
    229. yeet_expr
    230. 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_layout_extra
    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. array_windows
    16. ascii_char
    17. ascii_char_variants
    18. assert_matches
    19. async_fn_traits
    20. async_gen_internals
    21. async_iter_from_iter
    22. async_iterator
    23. atomic_from_mut
    24. atomic_internals
    25. atomic_try_update
    26. autodiff
    27. backtrace_frames
    28. bigint_helper_methods
    29. bikeshed_guaranteed_no_drop
    30. binary_heap_drain_sorted
    31. binary_heap_into_iter_sorted
    32. binary_heap_peek_mut_refresh
    33. bool_to_result
    34. bound_as_ref
    35. bound_copied
    36. box_as_ptr
    37. box_into_boxed_slice
    38. box_into_inner
    39. box_vec_non_null
    40. breakpoint
    41. bstr
    42. bstr_internals
    43. btree_cursors
    44. btree_entry_insert
    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_leak
    54. cfg_accessible
    55. cfg_eval
    56. cfg_select
    57. char_internals
    58. char_max_len
    59. clone_to_uninit
    60. cmp_minmax
    61. coerce_pointee_validated
    62. coerce_unsized
    63. cold_path
    64. concat_bytes
    65. const_alloc_error
    66. const_btree_len
    67. const_carrying_mul_add
    68. const_clone
    69. const_cmp
    70. const_convert
    71. const_default
    72. const_eval_select
    73. const_format_args
    74. const_heap
    75. const_index
    76. const_ops
    77. const_option_ops
    78. const_range_bounds
    79. const_raw_ptr_comparison
    80. const_ref_cell
    81. const_result_trait_fn
    82. const_slice_from_mut_ptr_range
    83. const_slice_from_ptr_range
    84. const_slice_make_iter
    85. const_slice_rotate
    86. const_split_off_first_last
    87. const_swap_with_slice
    88. const_type_name
    89. container_error_extra
    90. context_ext
    91. control_flow_into_value
    92. control_flow_ok
    93. convert_float_to_int
    94. core_float_math
    95. core_intrinsics
    96. core_intrinsics_fallbacks
    97. core_io_borrowed_buf
    98. core_private_bignum
    99. core_private_diy_float
    100. coroutine_trait
    101. cow_is_borrowed
    102. cstr_bytes
    103. cstr_display
    104. cstr_internals
    105. cursor_split
    106. deadline_api
    107. debug_closure_helpers
    108. dec2flt
    109. deref_pure_trait
    110. derive_clone_copy
    111. derive_coerce_pointee
    112. derive_const
    113. derive_eq
    114. dir_entry_ext2
    115. discriminant_kind
    116. disjoint_bitor
    117. dispatch_from_dyn
    118. downcast_unchecked
    119. drain_keep_rest
    120. drop_guard
    121. duration_constants
    122. duration_constructors
    123. duration_from_nanos_u128
    124. duration_millis_float
    125. duration_units
    126. edition_panic
    127. error_generic_member_access
    128. error_iter
    129. error_reporter
    130. error_type_id
    131. exact_bitshifts
    132. exact_div
    133. exact_size_is_empty
    134. exclusive_wrapper
    135. exit_status_error
    136. exitcode_exit_method
    137. extend_one
    138. extend_one_unchecked
    139. fd
    140. fd_read
    141. file_buffered
    142. file_with_nul
    143. float_algebraic
    144. float_erf
    145. float_gamma
    146. float_minimum_maximum
    147. flt2dec
    148. fmt_helpers_for_derive
    149. fmt_internals
    150. fn_ptr_trait
    151. fn_traits
    152. forget_unsized
    153. format_args_nl
    154. formatting_options
    155. freeze
    156. funnel_shifts
    157. future_join
    158. gen_future
    159. generic_assert_internals
    160. generic_atomic
    161. get_disjoint_mut_helpers
    162. get_mut_unchecked
    163. hash_map_internals
    164. hash_map_macro
    165. hash_set_entry
    166. hasher_prefixfree_extras
    167. hashmap_internals
    168. hint_must_use
    169. inplace_iteration
    170. int_format_into
    171. int_from_ascii
    172. int_lowest_highest_one
    173. int_roundings
    174. integer_atomics
    175. internal_impls_macro
    176. internal_output_capture
    177. io_const_error
    178. io_const_error_internals
    179. io_error_inprogress
    180. io_error_more
    181. io_error_uncategorized
    182. io_slice_as_bytes
    183. ip
    184. ip_as_octets
    185. is_ascii_octdigit
    186. is_loongarch_feature_detected
    187. is_riscv_feature_detected
    188. isolate_most_least_significant_one
    189. iter_advance_by
    190. iter_array_chunks
    191. iter_collect_into
    192. iter_from_coroutine
    193. iter_intersperse
    194. iter_is_partitioned
    195. iter_macro
    196. iter_map_windows
    197. iter_next_chunk
    198. iter_order_by
    199. iter_partition_in_place
    200. iterator_try_collect
    201. iterator_try_reduce
    202. junction_point
    203. layout_for_ptr
    204. lazy_cell_into_inner
    205. lazy_get
    206. legacy_receiver_trait
    207. liballoc_internals
    208. libstd_sys_internals
    209. likely_unlikely
    210. linked_list_cursors
    211. linked_list_remove
    212. linked_list_retain
    213. linux_pidfd
    214. local_key_cell_update
    215. local_waker
    216. lock_value_accessors
    217. log_syntax
    218. map_try_insert
    219. mapped_lock_guards
    220. maybe_uninit_array_assume_init
    221. maybe_uninit_as_bytes
    222. maybe_uninit_fill
    223. maybe_uninit_slice
    224. maybe_uninit_uninit_array_transpose
    225. maybe_uninit_write_slice
    226. mem_copy_fn
    227. more_float_constants
    228. mpmc_channel
    229. mutex_data_ptr
    230. new_range_api
    231. new_zeroed_alloc
    232. next_index
    233. nonpoison_condvar
    234. nonpoison_mutex
    235. nonpoison_rwlock
    236. nonzero_bitwise
    237. nonzero_from_mut
    238. nonzero_internals
    239. nonzero_ops
    240. normalize_lexically
    241. numfmt
    242. once_cell_get_mut
    243. once_cell_try
    244. once_cell_try_insert
    245. one_sided_range
    246. option_array_transpose
    247. option_reduce
    248. option_zip
    249. os_str_slice
    250. os_string_truncate
    251. panic_abort
    252. panic_always_abort
    253. panic_backtrace_config
    254. panic_can_unwind
    255. panic_internals
    256. panic_unwind
    257. panic_update_hook
    258. partial_ord_chaining_methods
    259. pattern
    260. pattern_type_macro
    261. pattern_type_range_trait
    262. peekable_next_if_map
    263. peer_credentials_unix_socket
    264. phantom_variance_markers
    265. pin_coerce_unsized_trait
    266. pointer_is_aligned_to
    267. pointer_try_cast_aligned
    268. portable_simd
    269. prelude_future
    270. prelude_next
    271. print_internals
    272. proc_macro_def_site
    273. proc_macro_diagnostic
    274. proc_macro_expand
    275. proc_macro_internals
    276. proc_macro_quote
    277. proc_macro_span
    278. proc_macro_totokens
    279. proc_macro_tracked_env
    280. proc_macro_value
    281. process_chroot
    282. process_exitcode_internals
    283. process_internals
    284. process_setsid
    285. profiler_runtime_lib
    286. ptr_alignment_type
    287. ptr_as_ref_unchecked
    288. ptr_as_uninit
    289. ptr_cast_array
    290. ptr_internals
    291. ptr_mask
    292. ptr_metadata
    293. pub_crate_should_not_need_unstable_attr
    294. push_mut
    295. random
    296. range_bounds_is_empty
    297. range_into_bounds
    298. raw_os_error_ty
    299. raw_slice_split
    300. raw_vec_internals
    301. read_buf
    302. read_buf_at
    303. reentrant_lock
    304. reentrant_lock_data_ptr
    305. refcell_try_map
    306. restricted_std
    307. result_option_map_or_default
    308. rev_into_inner
    309. rt
    310. rwlock_data_ptr
    311. rwlock_downgrade
    312. sealed
    313. seek_io_take_position
    314. seek_stream_len
    315. set_permissions_nofollow
    316. set_ptr_value
    317. setgroups
    318. sgx_platform
    319. sized_type_properties
    320. slice_as_array
    321. slice_concat_ext
    322. slice_concat_trait
    323. slice_from_ptr_range
    324. slice_index_methods
    325. slice_internals
    326. slice_iter_mut_as_mut_slice
    327. slice_partition_dedup
    328. slice_pattern
    329. slice_ptr_get
    330. slice_range
    331. slice_split_once
    332. slice_swap_unchecked
    333. solid_ext
    334. sort_floats
    335. split_array
    336. split_as_slice
    337. std_internals
    338. stdarch_aarch64_feature_detection
    339. stdarch_arm_feature_detection
    340. stdarch_internal
    341. stdarch_loongarch_feature_detection
    342. stdarch_mips_feature_detection
    343. stdarch_powerpc_feature_detection
    344. stdarch_riscv_feature_detection
    345. stdarch_s390x_feature_detection
    346. stdio_makes_pipe
    347. step_trait
    348. str_as_str
    349. str_from_raw_parts
    350. str_from_utf16_endian
    351. str_internals
    352. str_lines_remainder
    353. str_split_inclusive_remainder
    354. str_split_remainder
    355. str_split_whitespace_remainder
    356. string_from_utf8_lossy_owned
    357. string_into_chars
    358. string_remove_matches
    359. substr_range
    360. sync_nonpoison
    361. sync_poison_mod
    362. sync_unsafe_cell
    363. tcp_deferaccept
    364. tcp_linger
    365. tcplistener_into_incoming
    366. temporary_niche_types
    367. test
    368. thin_box
    369. thread_id_value
    370. thread_local_internals
    371. thread_raw
    372. thread_sleep_until
    373. thread_spawn_hook
    374. trace_macros
    375. track_path
    376. transmutability
    377. trim_prefix_suffix
    378. trusted_fused
    379. trusted_len
    380. trusted_len_next_unchecked
    381. trusted_random_access
    382. trusted_step
    383. try_find
    384. try_reserve_kind
    385. try_trait_v2
    386. try_trait_v2_residual
    387. try_trait_v2_yeet
    388. try_with_capacity
    389. tuple_trait
    390. type_ascription
    391. ub_checks
    392. uefi_std
    393. uint_bit_width
    394. unchecked_neg
    395. unchecked_shifts
    396. unicode_internals
    397. unique_rc_arc
    398. unix_file_vectored_at
    399. unix_mkfifo
    400. unix_send_signal
    401. unix_set_mark
    402. unix_socket_ancillary_data
    403. unix_socket_exclbind
    404. unix_socket_peek
    405. unsafe_cell_access
    406. unsafe_pinned
    407. unsigned_nonzero_div_ceil
    408. unsize
    409. unwrap_infallible
    410. update_panic_count
    411. utf16_extra
    412. variant_count
    413. vec_deque_iter_as_slices
    414. vec_deque_pop_if
    415. vec_deque_truncate_front
    416. vec_into_chunks
    417. vec_into_raw_parts
    418. vec_peek_mut
    419. vec_push_within_capacity
    420. vec_split_at_spare
    421. wasi_ext
    422. windows_by_handle
    423. windows_c
    424. windows_change_time
    425. windows_handle
    426. windows_net
    427. windows_process_exit_code_from
    428. windows_process_extensions_async_pipes
    429. windows_process_extensions_force_quotes
    430. windows_process_extensions_main_thread_handle
    431. windows_process_extensions_raw_attribute
    432. windows_process_extensions_show_window
    433. windows_process_extensions_startupinfo
    434. windows_stdio
    435. wrapping_int_impl
    436. wrapping_next_power_of_two
    437. write_all_vectored
    438. wtf8_internals
    439. yeet_desugar_details