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