1. The Unstable Book
  2. Compiler flags
    1. branch_protection
    2. cf_protection
    3. codegen_backend
    4. codegen_options
    5. control_flow_guard
    6. coverage_options
    7. debug_info_for_profiling
    8. default_visibility
    9. direct_access_external_data
    10. dump_mono_stats
    11. dump_mono_stats_format
    12. dwarf_version
    13. dylib_lto
    14. embed_source
    15. emit_stack_sizes
    16. env_set
    17. export_executable_symbols
    18. extern_options
    19. external_clangrt
    20. fixed_x18
    21. fmt_debug
    22. function_return
    23. instrument_xray
    24. link_native_libraries
    25. linker_features
    26. lint_llvm_ir
    27. llvm_module_flag
    28. location_detail
    29. move_size_limit
    30. no_jump_tables
    31. no_parallel_llvm
    32. no_unique_section_names
    33. on_broken_pipe
    34. patchable_function_entry
    35. print_check_cfg
    36. profile_sample_use
    37. regparm
    38. remap_cwd_prefix
    39. remap_path_scope
    40. report_time
    41. sanitizer
    42. self_profile
    43. self_profile_events
    44. shell_argfiles
    45. small_data_threshold
    46. src_hash_algorithm
    47. temps_dir
    48. tiny_const_eval_limit
    49. tls_model
    50. ub_checks
    51. unsound_mir_opts
    52. verbose_asm
    53. virtual_function_elimination
    54. wasm_c_abi
  3. Language features
    1. aarch64_unstable_target_feature
    2. aarch64_ver_target_feature
    3. abi_avr_interrupt
    4. abi_c_cmse_nonsecure_call
    5. abi_msp430_interrupt
    6. abi_ptx
    7. abi_riscv_interrupt
    8. abi_unadjusted
    9. abi_vectorcall
    10. abi_x86_interrupt
    11. adt_const_params
    12. alloc_error_handler
    13. allocator_internals
    14. allow_internal_unsafe
    15. allow_internal_unstable
    16. anonymous_lifetime_in_impl_trait
    17. arbitrary_self_types
    18. arbitrary_self_types_pointers
    19. arm_target_feature
    20. asm_experimental_arch
    21. asm_experimental_reg
    22. asm_goto
    23. asm_goto_with_outputs
    24. asm_unwind
    25. associated_const_equality
    26. associated_type_defaults
    27. async_closure
    28. async_fn_track_caller
    29. async_for_loop
    30. auto_traits
    31. avx512_target_feature
    32. box_patterns
    33. bpf_target_feature
    34. builtin_syntax
    35. c_variadic
    36. cfg_boolean_literals
    37. cfg_overflow_checks
    38. cfg_relocation_model
    39. cfg_sanitize
    40. cfg_sanitizer_cfi
    41. cfg_target_compact
    42. cfg_target_has_atomic
    43. cfg_target_has_atomic_equal_alignment
    44. cfg_target_thread_local
    45. cfg_ub_checks
    46. cfg_version
    47. cfi_encoding
    48. closure_lifetime_binder
    49. closure_track_caller
    50. cmse_nonsecure_entry
    51. compiler_builtins
    52. const_async_blocks
    53. const_closures
    54. const_destruct
    55. const_for
    56. const_precise_live_drops
    57. const_trait_impl
    58. const_try
    59. coroutine_clone
    60. coroutines
    61. coverage_attribute
    62. csky_target_feature
    63. custom_inner_attributes
    64. custom_mir
    65. custom_test_frameworks
    66. decl_macro
    67. deprecated_safe
    68. deprecated_suggestion
    69. deref_patterns
    70. do_not_recommend
    71. doc_auto_cfg
    72. doc_cfg
    73. doc_cfg_hide
    74. doc_masked
    75. doc_notable_trait
    76. dropck_eyepatch
    77. dyn_compatible_for_dispatch
    78. dyn_star
    79. ermsb_target_feature
    80. exhaustive_patterns
    81. explicit_tail_calls
    82. extended_varargs_abi_support
    83. extern_types
    84. f128
    85. f16
    86. ffi_const
    87. ffi_pure
    88. fmt_debug
    89. fn_align
    90. fn_delegation
    91. freeze_impls
    92. fundamental
    93. gen_blocks
    94. generic_arg_infer
    95. generic_assert
    96. generic_associated_types_extended
    97. generic_const_exprs
    98. generic_const_items
    99. global_registration
    100. half_open_range_patterns_in_slices
    101. hexagon_target_feature
    102. if_let_guard
    103. impl_trait_in_assoc_type
    104. impl_trait_in_fn_trait_return
    105. inherent_associated_types
    106. inline_const_pat
    107. intra_doc_pointers
    108. intrinsics
    109. lahfsahf_target_feature
    110. lang_items
    111. large_assignments
    112. lazy_type_alias
    113. let_chains
    114. lifetime_capture_rules_2024
    115. link_arg_attribute
    116. link_cfg
    117. link_llvm_intrinsics
    118. linkage
    119. loongarch_target_feature
    120. macro_metavar_expr
    121. macro_metavar_expr_concat
    122. marker_trait_attr
    123. min_generic_const_args
    124. min_specialization
    125. mips_target_feature
    126. more_maybe_bounds
    127. more_qualified_paths
    128. multiple_supertrait_upcastable
    129. must_not_suspend
    130. mut_ref
    131. naked_functions
    132. native_link_modifiers_as_needed
    133. needs_panic_runtime
    134. negative_bounds
    135. negative_impls
    136. never_patterns
    137. never_type
    138. never_type_fallback
    139. no_core
    140. no_sanitize
    141. non_exhaustive_omitted_patterns_lint
    142. non_lifetime_binders
    143. offset_of_enum
    144. offset_of_slice
    145. omit_gdb_pretty_printer_section
    146. optimize_attribute
    147. panic_runtime
    148. patchable_function_entry
    149. pattern_complexity
    150. pattern_types
    151. pin_ergonomics
    152. postfix_match
    153. powerpc_target_feature
    154. precise_capturing_in_traits
    155. prelude_import
    156. prfchw_target_feature
    157. proc_macro_hygiene
    158. profiler_runtime
    159. ref_pat_eat_one_layer_2024
    160. ref_pat_eat_one_layer_2024_structural
    161. register_tool
    162. repr_simd
    163. repr128
    164. return_type_notation
    165. riscv_target_feature
    166. rtm_target_feature
    167. rust_cold_cc
    168. rustc_allow_const_fn_unstable
    169. rustc_attrs
    170. rustc_private
    171. rustdoc_internals
    172. rustdoc_missing_doc_code_examples
    173. s390x_target_feature
    174. sha512_sm_x86
    175. simd_ffi
    176. sparc_target_feature
    177. specialization
    178. sse4a_target_feature
    179. staged_api
    180. start
    181. stmt_expr_attributes
    182. strict_provenance_lints
    183. string_deref_patterns
    184. structural_match
    185. target_feature_11
    186. tbm_target_feature
    187. test_unstable_lint
    188. thread_local
    189. trait_alias
    190. trait_upcasting
    191. transmute_generic_consts
    192. transparent_unions
    193. trivial_bounds
    194. try_blocks
    195. type_alias_impl_trait
    196. type_changing_struct_update
    197. unboxed_closures
    198. unqualified_local_imports
    199. unsafe_fields
    200. unsized_const_params
    201. unsized_fn_params
    202. unsized_locals
    203. unsized_tuple_coercion
    204. used_with_arg
    205. wasm_target_feature
    206. with_negative_coherence
    207. x86_amx_intrinsics
    208. xop_target_feature
    209. yeet_expr
  4. Library Features
    1. abort_unwind
    2. acceptfilter
    3. addr_parse_ascii
    4. alloc_error_hook
    5. alloc_internals
    6. alloc_layout_extra
    7. allocator_api
    8. anonymous_pipe
    9. array_chunks
    10. array_into_iter_constructors
    11. array_ptr_get
    12. array_repeat
    13. array_try_from_fn
    14. array_try_map
    15. array_windows
    16. as_array_of_cells
    17. ascii_char
    18. ascii_char_variants
    19. assert_matches
    20. async_drop
    21. async_fn_traits
    22. async_gen_internals
    23. async_iter_from_iter
    24. async_iterator
    25. atomic_from_mut
    26. autodiff
    27. backtrace_frames
    28. bigint_helper_methods
    29. binary_heap_drain_sorted
    30. binary_heap_into_iter_sorted
    31. bound_as_ref
    32. box_as_ptr
    33. box_into_boxed_slice
    34. box_into_inner
    35. box_uninit_write
    36. box_vec_non_null
    37. btree_cursors
    38. btree_entry_insert
    39. btree_extract_if
    40. btreemap_alloc
    41. buf_read_has_data_left
    42. bufreader_peek
    43. build_hasher_default_const_new
    44. c_size_t
    45. c_str_module
    46. c_void_variant
    47. can_vector
    48. cell_leak
    49. cell_update
    50. cfg_accessible
    51. cfg_eval
    52. cfg_match
    53. char_internals
    54. clone_to_uninit
    55. cmp_minmax
    56. coerce_unsized
    57. concat_bytes
    58. concat_idents
    59. const_align_of_val
    60. const_align_of_val_raw
    61. const_alloc_error
    62. const_alloc_layout
    63. const_array_as_mut_slice
    64. const_array_each_ref
    65. const_binary_heap_new_in
    66. const_black_box
    67. const_box
    68. const_btree_len
    69. const_cell
    70. const_char_classify
    71. const_collections_with_hasher
    72. const_eq_ignore_ascii_case
    73. const_eval_select
    74. const_exact_div
    75. const_fmt_arguments_new
    76. const_format_args
    77. const_heap
    78. const_intrinsic_compare_bytes
    79. const_intrinsic_raw_eq
    80. const_is_char_boundary
    81. const_maybe_uninit_write
    82. const_mut_cursor
    83. const_nonnull_new
    84. const_pref_align_of
    85. const_ptr_sub_ptr
    86. const_range_bounds
    87. const_raw_ptr_comparison
    88. const_size_of_val
    89. const_size_of_val_raw
    90. const_slice_flatten
    91. const_slice_from_mut_ptr_range
    92. const_slice_from_ptr_range
    93. const_sockaddr_setters
    94. const_str_from_utf8
    95. const_str_split_at
    96. const_swap
    97. const_three_way_compare
    98. const_type_id
    99. const_type_name
    100. const_typed_swap
    101. const_ub_checks
    102. const_vec_string_slice
    103. container_error_extra
    104. context_ext
    105. convert_float_to_int
    106. core_intrinsics
    107. core_io_borrowed_buf
    108. core_pattern_type
    109. core_pattern_types
    110. core_private_bignum
    111. core_private_diy_float
    112. coroutine_trait
    113. cow_is_borrowed
    114. cstr_bytes
    115. cstr_internals
    116. cursor_split
    117. deadline_api
    118. debug_closure_helpers
    119. dec2flt
    120. deref_pure_trait
    121. derive_clone_copy
    122. derive_coerce_pointee
    123. derive_const
    124. derive_eq
    125. dir_entry_ext2
    126. discriminant_kind
    127. dispatch_from_dyn
    128. downcast_unchecked
    129. drain_keep_rest
    130. duration_constants
    131. duration_constructors
    132. duration_millis_float
    133. duration_units
    134. edition_panic
    135. error_generic_member_access
    136. error_iter
    137. error_reporter
    138. error_type_id
    139. exact_size_is_empty
    140. exclusive_wrapper
    141. exit_status_error
    142. exitcode_exit_method
    143. extend_one
    144. extend_one_unchecked
    145. extract_if
    146. fd
    147. fd_read
    148. file_buffered
    149. file_lock
    150. float_gamma
    151. float_minimum_maximum
    152. float_next_up_down
    153. flt2dec
    154. fmt_helpers_for_derive
    155. fmt_internals
    156. fn_ptr_trait
    157. fn_traits
    158. forget_unsized
    159. format_args_nl
    160. freeze
    161. future_join
    162. gen_future
    163. generic_assert_internals
    164. get_many_mut
    165. get_many_mut_helpers
    166. get_mut_unchecked
    167. hash_extract_if
    168. hash_raw_entry
    169. hash_set_entry
    170. hasher_prefixfree_extras
    171. hashmap_internals
    172. hint_must_use
    173. inplace_iteration
    174. int_roundings
    175. integer_atomics
    176. integer_sign_cast
    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_from
    187. is_ascii_octdigit
    188. is_loongarch_feature_detected
    189. is_riscv_feature_detected
    190. iter_advance_by
    191. iter_array_chunks
    192. iter_chain
    193. iter_collect_into
    194. iter_from_coroutine
    195. iter_intersperse
    196. iter_is_partitioned
    197. iter_map_windows
    198. iter_next_chunk
    199. iter_order_by
    200. iter_partition_in_place
    201. iterator_try_collect
    202. iterator_try_reduce
    203. junction_point
    204. layout_for_ptr
    205. lazy_cell_into_inner
    206. lazy_get
    207. legacy_receiver_trait
    208. liballoc_internals
    209. libstd_sys_internals
    210. linked_list_cursors
    211. linked_list_remove
    212. linked_list_retain
    213. linux_pidfd
    214. local_waker
    215. log_syntax
    216. map_many_mut
    217. map_try_insert
    218. mapped_lock_guards
    219. maybe_uninit_array_assume_init
    220. maybe_uninit_as_bytes
    221. maybe_uninit_fill
    222. maybe_uninit_slice
    223. maybe_uninit_uninit_array
    224. maybe_uninit_uninit_array_transpose
    225. maybe_uninit_write_slice
    226. mem_copy_fn
    227. mixed_integer_ops_unsigned_sub
    228. more_float_constants
    229. mpmc_channel
    230. new_range_api
    231. new_zeroed_alloc
    232. non_null_from_ref
    233. non_zero_count_ones
    234. nonzero_bitwise
    235. nonzero_from_mut
    236. nonzero_internals
    237. nonzero_ops
    238. noop_waker
    239. num_midpoint
    240. numfmt
    241. once_cell_get_mut
    242. once_cell_try
    243. once_cell_try_insert
    244. once_wait
    245. one_sided_range
    246. option_array_transpose
    247. option_zip
    248. os_str_display
    249. os_str_slice
    250. os_string_pathbuf_leak
    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. path_add_extension
    261. path_file_prefix
    262. pattern
    263. peer_credentials_unix_socket
    264. pin_coerce_unsized_trait
    265. pointer_is_aligned_to
    266. pointer_like_trait
    267. portable_simd
    268. prelude_2024
    269. print_internals
    270. proc_macro_def_site
    271. proc_macro_diagnostic
    272. proc_macro_expand
    273. proc_macro_internals
    274. proc_macro_quote
    275. proc_macro_span
    276. proc_macro_totokens
    277. proc_macro_tracked_env
    278. process_exitcode_internals
    279. process_internals
    280. profiler_runtime_lib
    281. ptr_alignment_type
    282. ptr_as_ref_unchecked
    283. ptr_as_uninit
    284. ptr_fn_addr_eq
    285. ptr_internals
    286. ptr_mask
    287. ptr_metadata
    288. ptr_sub_ptr
    289. pub_crate_should_not_need_unstable_attr
    290. random
    291. raw_os_error_ty
    292. raw_slice_split
    293. raw_vec_internals
    294. read_buf
    295. reentrant_lock
    296. restricted_std
    297. result_flattening
    298. round_char_boundary
    299. rt
    300. rustc_encodable_decodable
    301. rwlock_downgrade
    302. sealed
    303. seek_stream_len
    304. set_ptr_value
    305. setgroups
    306. sgx_platform
    307. sized_type_properties
    308. slice_as_array
    309. slice_as_chunks
    310. slice_concat_ext
    311. slice_concat_trait
    312. slice_from_ptr_range
    313. slice_index_methods
    314. slice_internals
    315. slice_iter_mut_as_mut_slice
    316. slice_partition_dedup
    317. slice_pattern
    318. slice_ptr_get
    319. slice_range
    320. slice_split_once
    321. slice_swap_unchecked
    322. slice_take
    323. solid_ext
    324. sort_floats
    325. split_array
    326. split_as_slice
    327. std_internals
    328. stdarch_arm_feature_detection
    329. stdarch_mips_feature_detection
    330. stdarch_powerpc_feature_detection
    331. stdio_makes_pipe
    332. step_trait
    333. str_as_str
    334. str_from_raw_parts
    335. str_from_utf16_endian
    336. str_internals
    337. str_lines_remainder
    338. str_split_inclusive_remainder
    339. str_split_remainder
    340. str_split_whitespace_remainder
    341. strict_overflow_ops
    342. strict_provenance_atomic_ptr
    343. string_extend_from_within
    344. string_from_utf8_lossy_owned
    345. string_remove_matches
    346. substr_range
    347. sync_unsafe_cell
    348. tcp_deferaccept
    349. tcp_linger
    350. tcp_quickack
    351. tcplistener_into_incoming
    352. test
    353. thin_box
    354. thread_id_value
    355. thread_local_internals
    356. thread_raw
    357. thread_sleep_until
    358. thread_spawn_hook
    359. trace_macros
    360. track_path
    361. transmutability
    362. trusted_fused
    363. trusted_len
    364. trusted_len_next_unchecked
    365. trusted_random_access
    366. trusted_step
    367. try_find
    368. try_reserve_kind
    369. try_trait_v2
    370. try_trait_v2_residual
    371. try_trait_v2_yeet
    372. try_with_capacity
    373. tuple_trait
    374. type_ascription
    375. ub_checks
    376. uefi_std
    377. unbounded_shifts
    378. unchecked_neg
    379. unchecked_shifts
    380. unicode_internals
    381. unique_rc_arc
    382. unix_file_vectored_at
    383. unix_set_mark
    384. unix_socket_ancillary_data
    385. unix_socket_peek
    386. unsafe_pin_internals
    387. unsigned_is_multiple_of
    388. unsigned_nonzero_div_ceil
    389. unsigned_signed_diff
    390. unsize
    391. unwrap_infallible
    392. update_panic_count
    393. utf16_extra
    394. variant_count
    395. vec_deque_iter_as_slices
    396. vec_into_raw_parts
    397. vec_pop_if
    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_stdio
    413. wrapping_int_impl
    414. wrapping_next_power_of_two
    415. write_all_vectored
    416. yeet_desugar_details