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. instrument_xray
    30. link_native_libraries
    31. linker_features
    32. lint_llvm_ir
    33. llvm_module_flag
    34. location_detail
    35. min_function_alignment
    36. move_size_limit
    37. no_jump_tables
    38. no_parallel_llvm
    39. no_unique_section_names
    40. on_broken_pipe
    41. patchable_function_entry
    42. print_check_cfg
    43. print_crate_root_lint_levels
    44. print_supported_crate_types
    45. profile_sample_use
    46. randomize_layout
    47. reg_struct_return
    48. regparm
    49. remap_cwd_prefix
    50. remap_path_scope
    51. report_time
    52. sanitizer
    53. self_profile
    54. self_profile_events
    55. shell_argfiles
    56. small_data_threshold
    57. src_hash_algorithm
    58. temps_dir
    59. tiny_const_eval_limit
    60. tls_model
    61. track_diagnostics
    62. treat_err_as_bug
    63. ub_checks
    64. unsound_mir_opts
    65. verbose_asm
    66. virtual_function_elimination
    67. wasm_c_abi
  4. Language features
    1. aarch64_unstable_target_feature
    2. aarch64_ver_target_feature
    3. abi_avr_interrupt
    4. abi_c_cmse_nonsecure_call
    5. abi_gpu_kernel
    6. abi_msp430_interrupt
    7. abi_ptx
    8. abi_riscv_interrupt
    9. abi_unadjusted
    10. abi_vectorcall
    11. abi_x86_interrupt
    12. adt_const_params
    13. alloc_error_handler
    14. allocator_internals
    15. allow_internal_unsafe
    16. allow_internal_unstable
    17. anonymous_lifetime_in_impl_trait
    18. apx_target_feature
    19. arbitrary_self_types
    20. arbitrary_self_types_pointers
    21. arm_target_feature
    22. asm_cfg
    23. asm_experimental_arch
    24. asm_experimental_reg
    25. asm_goto_with_outputs
    26. asm_unwind
    27. associated_const_equality
    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. avx10_target_feature
    36. box_patterns
    37. bpf_target_feature
    38. builtin_syntax
    39. c_variadic
    40. cfg_contract_checks
    41. cfg_emscripten_wasm_eh
    42. cfg_overflow_checks
    43. cfg_relocation_model
    44. cfg_sanitize
    45. cfg_sanitizer_cfi
    46. cfg_target_compact
    47. cfg_target_has_atomic
    48. cfg_target_has_atomic_equal_alignment
    49. cfg_target_has_reliable_f16_f128
    50. cfg_target_thread_local
    51. cfg_ub_checks
    52. cfg_version
    53. cfi_encoding
    54. closure_lifetime_binder
    55. closure_track_caller
    56. cmse_nonsecure_entry
    57. compiler_builtins
    58. const_async_blocks
    59. const_closures
    60. const_destruct
    61. const_for
    62. const_precise_live_drops
    63. const_trait_impl
    64. const_try
    65. contracts
    66. contracts_internals
    67. coroutine_clone
    68. coroutines
    69. coverage_attribute
    70. csky_target_feature
    71. custom_inner_attributes
    72. custom_mir
    73. custom_test_frameworks
    74. decl_macro
    75. default_field_values
    76. deprecated_safe
    77. deprecated_suggestion
    78. deref_patterns
    79. doc_auto_cfg
    80. doc_cfg
    81. doc_cfg_hide
    82. doc_masked
    83. doc_notable_trait
    84. dropck_eyepatch
    85. dyn_star
    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_arg_infer
    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. keylocker_x86
    125. lahfsahf_target_feature
    126. lang_items
    127. large_assignments
    128. lazy_type_alias
    129. let_chains
    130. link_arg_attribute
    131. link_cfg
    132. link_llvm_intrinsics
    133. linkage
    134. loongarch_target_feature
    135. m68k_target_feature
    136. macro_metavar_expr
    137. macro_metavar_expr_concat
    138. marker_trait_attr
    139. min_generic_const_args
    140. min_specialization
    141. mips_target_feature
    142. more_maybe_bounds
    143. more_qualified_paths
    144. movrs_target_feature
    145. multiple_supertrait_upcastable
    146. must_not_suspend
    147. mut_ref
    148. naked_functions_rustic_abi
    149. naked_functions_target_feature
    150. native_link_modifiers_as_needed
    151. needs_panic_runtime
    152. negative_bounds
    153. negative_impls
    154. never_patterns
    155. never_type
    156. never_type_fallback
    157. new_range
    158. no_core
    159. no_sanitize
    160. non_exhaustive_omitted_patterns_lint
    161. non_lifetime_binders
    162. offset_of_enum
    163. offset_of_slice
    164. omit_gdb_pretty_printer_section
    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. ref_pat_eat_one_layer_2024
    179. ref_pat_eat_one_layer_2024_structural
    180. register_tool
    181. repr_simd
    182. return_type_notation
    183. riscv_target_feature
    184. rtm_target_feature
    185. rust_cold_cc
    186. rustc_allow_const_fn_unstable
    187. rustc_attrs
    188. rustc_private
    189. rustdoc_internals
    190. rustdoc_missing_doc_code_examples
    191. s390x_target_feature
    192. sha512_sm_x86
    193. simd_ffi
    194. sparc_target_feature
    195. specialization
    196. sse4a_target_feature
    197. staged_api
    198. stmt_expr_attributes
    199. strict_provenance_lints
    200. string_deref_patterns
    201. structural_match
    202. super_let
    203. supertrait_item_shadowing
    204. tbm_target_feature
    205. test_unstable_lint
    206. thread_local
    207. trait_alias
    208. transmute_generic_consts
    209. transparent_unions
    210. trivial_bounds
    211. try_blocks
    212. type_alias_impl_trait
    213. type_changing_struct_update
    214. unboxed_closures
    215. unqualified_local_imports
    216. unsafe_binders
    217. unsafe_fields
    218. unsized_const_params
    219. unsized_fn_params
    220. unsized_locals
    221. used_with_arg
    222. wasm_target_feature
    223. where_clause_attrs
    224. with_negative_coherence
    225. x86_amx_intrinsics
    226. x87_target_feature
    227. xop_target_feature
    228. yeet_expr
    229. 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_chunks
    12. array_into_iter_constructors
    13. array_ptr_get
    14. array_repeat
    15. array_try_from_fn
    16. array_try_map
    17. array_windows
    18. as_array_of_cells
    19. ascii_char
    20. ascii_char_variants
    21. assert_matches
    22. async_fn_traits
    23. async_gen_internals
    24. async_iter_from_iter
    25. async_iterator
    26. atomic_from_mut
    27. atomic_internals
    28. atomic_try_update
    29. autodiff
    30. backtrace_frames
    31. bigint_helper_methods
    32. bikeshed_guaranteed_no_drop
    33. binary_heap_drain_sorted
    34. binary_heap_into_iter_sorted
    35. binary_heap_peek_mut_refresh
    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. concat_idents
    67. const_alloc_error
    68. const_array_each_ref
    69. const_btree_len
    70. const_carrying_mul_add
    71. const_deref
    72. const_eq_ignore_ascii_case
    73. const_eval_select
    74. const_format_args
    75. const_heap
    76. const_ops
    77. const_range_bounds
    78. const_raw_ptr_comparison
    79. const_slice_from_mut_ptr_range
    80. const_slice_from_ptr_range
    81. const_slice_make_iter
    82. const_slice_reverse
    83. const_split_off_first_last
    84. const_type_id
    85. const_type_name
    86. container_error_extra
    87. context_ext
    88. control_flow_into_value
    89. convert_float_to_int
    90. core_float_math
    91. core_intrinsics
    92. core_intrinsics_fallbacks
    93. core_io_borrowed_buf
    94. core_private_bignum
    95. core_private_diy_float
    96. coroutine_trait
    97. cow_is_borrowed
    98. cstr_bytes
    99. cstr_display
    100. cstr_internals
    101. cursor_split
    102. deadline_api
    103. debug_closure_helpers
    104. dec2flt
    105. deref_pure_trait
    106. derive_clone_copy
    107. derive_coerce_pointee
    108. derive_const
    109. derive_eq
    110. dir_entry_ext2
    111. discriminant_kind
    112. disjoint_bitor
    113. dispatch_from_dyn
    114. downcast_unchecked
    115. drain_keep_rest
    116. duration_constants
    117. duration_constructors
    118. duration_constructors_lite
    119. duration_millis_float
    120. duration_units
    121. edition_panic
    122. error_generic_member_access
    123. error_iter
    124. error_reporter
    125. error_type_id
    126. exact_div
    127. exact_size_is_empty
    128. exclusive_wrapper
    129. exit_status_error
    130. exitcode_exit_method
    131. extend_one
    132. extend_one_unchecked
    133. fd
    134. fd_read
    135. file_buffered
    136. file_lock
    137. float_algebraic
    138. float_erf
    139. float_gamma
    140. float_minimum_maximum
    141. flt2dec
    142. fmt_helpers_for_derive
    143. fmt_internals
    144. fn_ptr_trait
    145. fn_traits
    146. forget_unsized
    147. format_args_nl
    148. formatting_options
    149. freeze
    150. future_join
    151. gen_future
    152. generic_assert_internals
    153. generic_atomic
    154. get_disjoint_mut_helpers
    155. get_mut_unchecked
    156. hash_set_entry
    157. hasher_prefixfree_extras
    158. hashmap_internals
    159. hint_must_use
    160. inplace_iteration
    161. int_from_ascii
    162. int_roundings
    163. integer_atomics
    164. internal_impls_macro
    165. internal_output_capture
    166. io_const_error
    167. io_const_error_internals
    168. io_error_inprogress
    169. io_error_more
    170. io_error_uncategorized
    171. io_slice_as_bytes
    172. ip
    173. ip_as_octets
    174. ip_from
    175. is_ascii_octdigit
    176. is_loongarch_feature_detected
    177. is_riscv_feature_detected
    178. isolate_most_least_significant_one
    179. iter_advance_by
    180. iter_array_chunks
    181. iter_chain
    182. iter_collect_into
    183. iter_from_coroutine
    184. iter_intersperse
    185. iter_is_partitioned
    186. iter_map_windows
    187. iter_next_chunk
    188. iter_order_by
    189. iter_partition_in_place
    190. iterator_try_collect
    191. iterator_try_reduce
    192. junction_point
    193. layout_for_ptr
    194. lazy_cell_into_inner
    195. lazy_get
    196. legacy_receiver_trait
    197. liballoc_internals
    198. libstd_sys_internals
    199. likely_unlikely
    200. linked_list_cursors
    201. linked_list_remove
    202. linked_list_retain
    203. linux_pidfd
    204. local_waker
    205. lock_value_accessors
    206. log_syntax
    207. map_try_insert
    208. mapped_lock_guards
    209. maybe_uninit_array_assume_init
    210. maybe_uninit_as_bytes
    211. maybe_uninit_fill
    212. maybe_uninit_slice
    213. maybe_uninit_uninit_array_transpose
    214. maybe_uninit_write_slice
    215. mem_copy_fn
    216. mixed_integer_ops_unsigned_sub
    217. more_float_constants
    218. mpmc_channel
    219. mutex_data_ptr
    220. new_range_api
    221. new_zeroed_alloc
    222. next_index
    223. nonnull_provenance
    224. nonzero_bitwise
    225. nonzero_from_mut
    226. nonzero_internals
    227. nonzero_ops
    228. normalize_lexically
    229. numfmt
    230. once_cell_get_mut
    231. once_cell_try
    232. once_cell_try_insert
    233. one_sided_range
    234. option_array_transpose
    235. option_zip
    236. os_str_slice
    237. os_string_pathbuf_leak
    238. os_string_truncate
    239. panic_abort
    240. panic_always_abort
    241. panic_backtrace_config
    242. panic_can_unwind
    243. panic_internals
    244. panic_payload_as_str
    245. panic_unwind
    246. panic_update_hook
    247. partial_ord_chaining_methods
    248. path_add_extension
    249. path_file_prefix
    250. pattern
    251. pattern_type_macro
    252. pattern_type_range_trait
    253. peer_credentials_unix_socket
    254. phantom_variance_markers
    255. pin_coerce_unsized_trait
    256. pointer_is_aligned_to
    257. pointer_like_trait
    258. pointer_try_cast_aligned
    259. portable_simd
    260. prelude_future
    261. prelude_next
    262. print_internals
    263. proc_macro_def_site
    264. proc_macro_diagnostic
    265. proc_macro_expand
    266. proc_macro_internals
    267. proc_macro_quote
    268. proc_macro_span
    269. proc_macro_totokens
    270. proc_macro_tracked_env
    271. proc_macro_value
    272. process_chroot
    273. process_exitcode_internals
    274. process_internals
    275. profiler_runtime_lib
    276. ptr_alignment_type
    277. ptr_as_ref_unchecked
    278. ptr_as_uninit
    279. ptr_internals
    280. ptr_mask
    281. ptr_metadata
    282. pub_crate_should_not_need_unstable_attr
    283. random
    284. range_bounds_is_empty
    285. range_into_bounds
    286. raw_os_error_ty
    287. raw_slice_split
    288. raw_vec_internals
    289. read_buf
    290. reentrant_lock
    291. reentrant_lock_data_ptr
    292. restricted_std
    293. result_flattening
    294. result_option_map_or_default
    295. round_char_boundary
    296. rt
    297. rwlock_data_ptr
    298. rwlock_downgrade
    299. sealed
    300. seek_io_take_position
    301. seek_stream_len
    302. set_ptr_value
    303. setgroups
    304. sgx_platform
    305. sized_type_properties
    306. slice_as_array
    307. slice_concat_ext
    308. slice_concat_trait
    309. slice_from_ptr_range
    310. slice_index_methods
    311. slice_internals
    312. slice_iter_mut_as_mut_slice
    313. slice_partition_dedup
    314. slice_pattern
    315. slice_ptr_get
    316. slice_range
    317. slice_split_once
    318. slice_swap_unchecked
    319. solid_ext
    320. sort_floats
    321. split_array
    322. split_as_slice
    323. std_internals
    324. stdarch_arm_feature_detection
    325. stdarch_mips_feature_detection
    326. stdarch_powerpc_feature_detection
    327. stdarch_s390x_feature_detection
    328. stdio_makes_pipe
    329. step_trait
    330. str_as_str
    331. str_from_raw_parts
    332. str_from_utf16_endian
    333. str_internals
    334. str_lines_remainder
    335. str_split_inclusive_remainder
    336. str_split_remainder
    337. str_split_whitespace_remainder
    338. strict_overflow_ops
    339. strict_provenance_atomic_ptr
    340. string_from_utf8_lossy_owned
    341. string_into_chars
    342. string_remove_matches
    343. substr_range
    344. sync_poison_mod
    345. sync_unsafe_cell
    346. tcp_deferaccept
    347. tcp_linger
    348. tcp_quickack
    349. tcplistener_into_incoming
    350. temporary_niche_types
    351. test
    352. thin_box
    353. thread_id_value
    354. thread_local_internals
    355. thread_raw
    356. thread_sleep_until
    357. thread_spawn_hook
    358. trace_macros
    359. track_path
    360. transmutability
    361. trusted_fused
    362. trusted_len
    363. trusted_len_next_unchecked
    364. trusted_random_access
    365. trusted_step
    366. try_find
    367. try_reserve_kind
    368. try_trait_v2
    369. try_trait_v2_residual
    370. try_trait_v2_yeet
    371. try_with_capacity
    372. tuple_trait
    373. type_ascription
    374. ub_checks
    375. uefi_std
    376. unchecked_neg
    377. unchecked_shifts
    378. unicode_internals
    379. unique_rc_arc
    380. unix_file_vectored_at
    381. unix_mkfifo
    382. unix_set_mark
    383. unix_socket_ancillary_data
    384. unix_socket_peek
    385. unsafe_cell_access
    386. unsafe_pinned
    387. unsigned_nonzero_div_ceil
    388. unsigned_signed_diff
    389. unsize
    390. unwrap_infallible
    391. update_panic_count
    392. utf16_extra
    393. variant_count
    394. vec_deque_iter_as_slices
    395. vec_deque_pop_if
    396. vec_deque_truncate_front
    397. vec_into_raw_parts
    398. vec_push_within_capacity
    399. vec_split_at_spare
    400. wasi_ext
    401. windows_by_handle
    402. windows_c
    403. windows_change_time
    404. windows_handle
    405. windows_net
    406. windows_process_exit_code_from
    407. windows_process_extensions_async_pipes
    408. windows_process_extensions_force_quotes
    409. windows_process_extensions_main_thread_handle
    410. windows_process_extensions_raw_attribute
    411. windows_process_extensions_show_window
    412. windows_process_extensions_startupinfo
    413. windows_stdio
    414. wrapping_int_impl
    415. wrapping_next_power_of_two
    416. write_all_vectored
    417. yeet_desugar_details