- The Unstable Book
- 1. Compiler flags
- 1.1. allow_features
- 1.2. autodiff
- 1.3. branch_protection
- 1.4. cf_protection
- 1.5. codegen_backend
- 1.6. codegen_options
- 1.7. control_flow_guard
- 1.8. coverage_options
- 1.9. crate_attr
- 1.10. debug_info_for_profiling
- 1.11. debug_info_type_line_numbers
- 1.12. default_visibility
- 1.13. direct_access_external_data
- 1.14. dump_mono_stats
- 1.15. dump_mono_stats_format
- 1.16. dylib_lto
- 1.17. embed_metadata
- 1.18. embed_source
- 1.19. emit_stack_sizes
- 1.20. emscripten_wasm_eh
- 1.21. env_set
- 1.22. export_executable_symbols
- 1.23. extern_options
- 1.24. external_clangrt
- 1.25. fixed_x18
- 1.26. fmt_debug
- 1.27. function_return
- 1.28. instrument_xray
- 1.29. link_native_libraries
- 1.30. linker_features
- 1.31. lint_llvm_ir
- 1.32. llvm_module_flag
- 1.33. location_detail
- 1.34. min_function_alignment
- 1.35. move_size_limit
- 1.36. no_jump_tables
- 1.37. no_parallel_llvm
- 1.38. no_unique_section_names
- 1.39. on_broken_pipe
- 1.40. patchable_function_entry
- 1.41. print_check_cfg
- 1.42. print_crate_root_lint_levels
- 1.43. print_supported_crate_types
- 1.44. profile_sample_use
- 1.45. randomize_layout
- 1.46. reg_struct_return
- 1.47. regparm
- 1.48. remap_cwd_prefix
- 1.49. remap_path_scope
- 1.50. report_time
- 1.51. rustc_bootstrap
- 1.52. rustc_override_version_string
- 1.53. sanitizer
- 1.54. self_profile
- 1.55. self_profile_events
- 1.56. shell_argfiles
- 1.57. small_data_threshold
- 1.58. src_hash_algorithm
- 1.59. temps_dir
- 1.60. tiny_const_eval_limit
- 1.61. tls_model
- 1.62. ub_checks
- 1.63. unsound_mir_opts
- 1.64. verbose_asm
- 1.65. virtual_function_elimination
- 1.66. wasm_c_abi
- 2. Language features
- 2.1. aarch64_unstable_target_feature
- 2.2. aarch64_ver_target_feature
- 2.3. abi_avr_interrupt
- 2.4. abi_c_cmse_nonsecure_call
- 2.5. abi_gpu_kernel
- 2.6. abi_msp430_interrupt
- 2.7. abi_ptx
- 2.8. abi_riscv_interrupt
- 2.9. abi_unadjusted
- 2.10. abi_vectorcall
- 2.11. abi_x86_interrupt
- 2.12. adt_const_params
- 2.13. alloc_error_handler
- 2.14. allocator_internals
- 2.15. allow_internal_unsafe
- 2.16. allow_internal_unstable
- 2.17. anonymous_lifetime_in_impl_trait
- 2.18. arbitrary_self_types
- 2.19. arbitrary_self_types_pointers
- 2.20. arm_target_feature
- 2.21. asm_experimental_arch
- 2.22. asm_experimental_reg
- 2.23. asm_goto_with_outputs
- 2.24. asm_unwind
- 2.25. associated_const_equality
- 2.26. associated_type_defaults
- 2.27. async_fn_in_dyn_trait
- 2.28. async_fn_track_caller
- 2.29. async_for_loop
- 2.30. async_trait_bounds
- 2.31. auto_traits
- 2.32. avx512_target_feature
- 2.33. box_patterns
- 2.34. bpf_target_feature
- 2.35. builtin_syntax
- 2.36. c_variadic
- 2.37. cfg_contract_checks
- 2.38. cfg_emscripten_wasm_eh
- 2.39. cfg_overflow_checks
- 2.40. cfg_relocation_model
- 2.41. cfg_sanitize
- 2.42. cfg_sanitizer_cfi
- 2.43. cfg_target_compact
- 2.44. cfg_target_has_atomic
- 2.45. cfg_target_has_atomic_equal_alignment
- 2.46. cfg_target_thread_local
- 2.47. cfg_ub_checks
- 2.48. cfg_version
- 2.49. cfi_encoding
- 2.50. closure_lifetime_binder
- 2.51. closure_track_caller
- 2.52. cmse_nonsecure_entry
- 2.53. compiler_builtins
- 2.54. const_async_blocks
- 2.55. const_closures
- 2.56. const_destruct
- 2.57. const_for
- 2.58. const_precise_live_drops
- 2.59. const_trait_impl
- 2.60. const_try
- 2.61. contracts
- 2.62. contracts_internals
- 2.63. coroutine_clone
- 2.64. coroutines
- 2.65. coverage_attribute
- 2.66. csky_target_feature
- 2.67. custom_inner_attributes
- 2.68. custom_mir
- 2.69. custom_test_frameworks
- 2.70. decl_macro
- 2.71. default_field_values
- 2.72. deprecated_safe
- 2.73. deprecated_suggestion
- 2.74. deref_patterns
- 2.75. doc_auto_cfg
- 2.76. doc_cfg
- 2.77. doc_cfg_hide
- 2.78. doc_masked
- 2.79. doc_notable_trait
- 2.80. dropck_eyepatch
- 2.81. dyn_star
- 2.82. ergonomic_clones
- 2.83. ermsb_target_feature
- 2.84. exhaustive_patterns
- 2.85. explicit_extern_abis
- 2.86. explicit_tail_calls
- 2.87. extended_varargs_abi_support
- 2.88. extern_system_varargs
- 2.89. extern_types
- 2.90. f128
- 2.91. f16
- 2.92. ffi_const
- 2.93. ffi_pure
- 2.94. fmt_debug
- 2.95. fn_align
- 2.96. fn_delegation
- 2.97. freeze_impls
- 2.98. fundamental
- 2.99. gen_blocks
- 2.100. generic_arg_infer
- 2.101. generic_assert
- 2.102. generic_const_exprs
- 2.103. generic_const_items
- 2.104. generic_const_parameter_types
- 2.105. generic_pattern_types
- 2.106. global_registration
- 2.107. guard_patterns
- 2.108. half_open_range_patterns_in_slices
- 2.109. hexagon_target_feature
- 2.110. if_let_guard
- 2.111. impl_trait_in_assoc_type
- 2.112. impl_trait_in_bindings
- 2.113. impl_trait_in_fn_trait_return
- 2.114. import_trait_associated_functions
- 2.115. inherent_associated_types
- 2.116. intra_doc_pointers
- 2.117. intrinsics
- 2.118. keylocker_x86
- 2.119. lahfsahf_target_feature
- 2.120. lang_items
- 2.121. large_assignments
- 2.122. lazy_type_alias
- 2.123. let_chains
- 2.124. link_arg_attribute
- 2.125. link_cfg
- 2.126. link_llvm_intrinsics
- 2.127. linkage
- 2.128. loongarch_target_feature
- 2.129. m68k_target_feature
- 2.130. macro_metavar_expr
- 2.131. macro_metavar_expr_concat
- 2.132. marker_trait_attr
- 2.133. min_generic_const_args
- 2.134. min_specialization
- 2.135. mips_target_feature
- 2.136. more_maybe_bounds
- 2.137. more_qualified_paths
- 2.138. movrs_target_feature
- 2.139. multiple_supertrait_upcastable
- 2.140. must_not_suspend
- 2.141. mut_ref
- 2.142. naked_functions
- 2.143. naked_functions_rustic_abi
- 2.144. naked_functions_target_feature
- 2.145. native_link_modifiers_as_needed
- 2.146. needs_panic_runtime
- 2.147. negative_bounds
- 2.148. negative_impls
- 2.149. never_patterns
- 2.150. never_type
- 2.151. never_type_fallback
- 2.152. new_range
- 2.153. no_core
- 2.154. no_sanitize
- 2.155. non_exhaustive_omitted_patterns_lint
- 2.156. non_lifetime_binders
- 2.157. offset_of_enum
- 2.158. offset_of_slice
- 2.159. omit_gdb_pretty_printer_section
- 2.160. optimize_attribute
- 2.161. panic_runtime
- 2.162. patchable_function_entry
- 2.163. pattern_complexity_limit
- 2.164. pattern_types
- 2.165. pin_ergonomics
- 2.166. postfix_match
- 2.167. powerpc_target_feature
- 2.168. prelude_import
- 2.169. prfchw_target_feature
- 2.170. proc_macro_hygiene
- 2.171. profiler_runtime
- 2.172. raw_dylib_elf
- 2.173. ref_pat_eat_one_layer_2024
- 2.174. ref_pat_eat_one_layer_2024_structural
- 2.175. register_tool
- 2.176. repr_simd
- 2.177. repr128
- 2.178. return_type_notation
- 2.179. riscv_target_feature
- 2.180. rtm_target_feature
- 2.181. rust_cold_cc
- 2.182. rustc_allow_const_fn_unstable
- 2.183. rustc_attrs
- 2.184. rustc_private
- 2.185. rustdoc_internals
- 2.186. rustdoc_missing_doc_code_examples
- 2.187. s390x_target_feature
- 2.188. sha512_sm_x86
- 2.189. simd_ffi
- 2.190. sparc_target_feature
- 2.191. specialization
- 2.192. sse4a_target_feature
- 2.193. staged_api
- 2.194. stmt_expr_attributes
- 2.195. strict_provenance_lints
- 2.196. string_deref_patterns
- 2.197. structural_match
- 2.198. super_let
- 2.199. supertrait_item_shadowing
- 2.200. tbm_target_feature
- 2.201. test_unstable_lint
- 2.202. thread_local
- 2.203. trait_alias
- 2.204. transmute_generic_consts
- 2.205. transparent_unions
- 2.206. trivial_bounds
- 2.207. try_blocks
- 2.208. type_alias_impl_trait
- 2.209. type_changing_struct_update
- 2.210. unboxed_closures
- 2.211. unqualified_local_imports
- 2.212. unsafe_binders
- 2.213. unsafe_fields
- 2.214. unsized_const_params
- 2.215. unsized_fn_params
- 2.216. unsized_locals
- 2.217. used_with_arg
- 2.218. wasm_target_feature
- 2.219. where_clause_attrs
- 2.220. with_negative_coherence
- 2.221. x86_amx_intrinsics
- 2.222. x87_target_feature
- 2.223. xop_target_feature
- 2.224. yeet_expr
- 2.225. yield_expr
- 3. Library Features
- 3.1. abort_unwind
- 3.2. acceptfilter
- 3.3. addr_parse_ascii
- 3.4. align_to_uninit_mut
- 3.5. alloc_error_hook
- 3.6. alloc_internals
- 3.7. alloc_layout_extra
- 3.8. allocator_api
- 3.9. alloctests
- 3.10. array_chunks
- 3.11. array_into_iter_constructors
- 3.12. array_ptr_get
- 3.13. array_repeat
- 3.14. array_try_from_fn
- 3.15. array_try_map
- 3.16. array_windows
- 3.17. as_array_of_cells
- 3.18. ascii_char
- 3.19. ascii_char_variants
- 3.20. assert_matches
- 3.21. async_drop
- 3.22. async_fn_traits
- 3.23. async_gen_internals
- 3.24. async_iter_from_iter
- 3.25. async_iterator
- 3.26. atomic_from_mut
- 3.27. atomic_try_update
- 3.28. autodiff
- 3.29. backtrace_frames
- 3.30. bigint_helper_methods
- 3.31. bikeshed_guaranteed_no_drop
- 3.32. binary_heap_drain_sorted
- 3.33. binary_heap_into_iter_sorted
- 3.34. binary_heap_peek_mut_refresh
- 3.35. bound_as_ref
- 3.36. box_as_ptr
- 3.37. box_into_boxed_slice
- 3.38. box_into_inner
- 3.39. box_vec_non_null
- 3.40. breakpoint
- 3.41. bstr
- 3.42. bstr_internals
- 3.43. btree_cursors
- 3.44. btree_entry_insert
- 3.45. btree_extract_if
- 3.46. btree_set_entry
- 3.47. btreemap_alloc
- 3.48. buf_read_has_data_left
- 3.49. bufreader_peek
- 3.50. c_size_t
- 3.51. c_str_module
- 3.52. c_void_variant
- 3.53. can_vector
- 3.54. cell_leak
- 3.55. cell_update
- 3.56. cfg_accessible
- 3.57. cfg_eval
- 3.58. cfg_match
- 3.59. char_internals
- 3.60. char_max_len
- 3.61. clone_to_uninit
- 3.62. cmp_minmax
- 3.63. coerce_pointee_validated
- 3.64. coerce_unsized
- 3.65. cold_path
- 3.66. concat_bytes
- 3.67. concat_idents
- 3.68. const_alloc_error
- 3.69. const_array_as_mut_slice
- 3.70. const_array_each_ref
- 3.71. const_btree_len
- 3.72. const_carrying_mul_add
- 3.73. const_deref
- 3.74. const_eq_ignore_ascii_case
- 3.75. const_eval_select
- 3.76. const_format_args
- 3.77. const_heap
- 3.78. const_ops
- 3.79. const_range_bounds
- 3.80. const_raw_ptr_comparison
- 3.81. const_slice_from_mut_ptr_range
- 3.82. const_slice_from_ptr_range
- 3.83. const_slice_make_iter
- 3.84. const_slice_reverse
- 3.85. const_split_off_first_last
- 3.86. const_swap_nonoverlapping
- 3.87. const_type_id
- 3.88. const_type_name
- 3.89. container_error_extra
- 3.90. context_ext
- 3.91. control_flow_into_value
- 3.92. convert_float_to_int
- 3.93. core_intrinsics
- 3.94. core_intrinsics_fallbacks
- 3.95. core_io_borrowed_buf
- 3.96. core_private_bignum
- 3.97. core_private_diy_float
- 3.98. coroutine_trait
- 3.99. cow_is_borrowed
- 3.100. cstr_bytes
- 3.101. cstr_internals
- 3.102. cursor_split
- 3.103. deadline_api
- 3.104. debug_closure_helpers
- 3.105. dec2flt
- 3.106. deref_pure_trait
- 3.107. derive_clone_copy
- 3.108. derive_coerce_pointee
- 3.109. derive_const
- 3.110. derive_eq
- 3.111. dir_entry_ext2
- 3.112. discriminant_kind
- 3.113. disjoint_bitor
- 3.114. dispatch_from_dyn
- 3.115. downcast_unchecked
- 3.116. drain_keep_rest
- 3.117. duration_constants
- 3.118. duration_constructors
- 3.119. duration_millis_float
- 3.120. duration_units
- 3.121. edition_panic
- 3.122. error_generic_member_access
- 3.123. error_iter
- 3.124. error_reporter
- 3.125. error_type_id
- 3.126. exact_size_is_empty
- 3.127. exclusive_wrapper
- 3.128. exit_status_error
- 3.129. exitcode_exit_method
- 3.130. extend_one
- 3.131. extend_one_unchecked
- 3.132. fd
- 3.133. fd_read
- 3.134. file_buffered
- 3.135. file_lock
- 3.136. float_algebraic
- 3.137. float_erf
- 3.138. float_gamma
- 3.139. float_minimum_maximum
- 3.140. flt2dec
- 3.141. fmt_helpers_for_derive
- 3.142. fmt_internals
- 3.143. fn_ptr_trait
- 3.144. fn_traits
- 3.145. forget_unsized
- 3.146. format_args_nl
- 3.147. formatting_options
- 3.148. freeze
- 3.149. future_join
- 3.150. gen_future
- 3.151. generic_assert_internals
- 3.152. get_disjoint_mut_helpers
- 3.153. get_mut_unchecked
- 3.154. hash_set_entry
- 3.155. hasher_prefixfree_extras
- 3.156. hashmap_internals
- 3.157. hint_must_use
- 3.158. inplace_iteration
- 3.159. int_from_ascii
- 3.160. int_roundings
- 3.161. integer_atomics
- 3.162. internal_impls_macro
- 3.163. internal_output_capture
- 3.164. io_const_error
- 3.165. io_const_error_internals
- 3.166. io_error_inprogress
- 3.167. io_error_more
- 3.168. io_error_uncategorized
- 3.169. io_slice_as_bytes
- 3.170. ip
- 3.171. ip_as_octets
- 3.172. ip_from
- 3.173. is_ascii_octdigit
- 3.174. is_loongarch_feature_detected
- 3.175. is_riscv_feature_detected
- 3.176. isolate_most_least_significant_one
- 3.177. iter_advance_by
- 3.178. iter_array_chunks
- 3.179. iter_chain
- 3.180. iter_collect_into
- 3.181. iter_from_coroutine
- 3.182. iter_intersperse
- 3.183. iter_is_partitioned
- 3.184. iter_map_windows
- 3.185. iter_next_chunk
- 3.186. iter_order_by
- 3.187. iter_partition_in_place
- 3.188. iterator_try_collect
- 3.189. iterator_try_reduce
- 3.190. junction_point
- 3.191. layout_for_ptr
- 3.192. lazy_cell_into_inner
- 3.193. lazy_get
- 3.194. legacy_receiver_trait
- 3.195. liballoc_internals
- 3.196. libstd_sys_internals
- 3.197. likely_unlikely
- 3.198. linked_list_cursors
- 3.199. linked_list_remove
- 3.200. linked_list_retain
- 3.201. linux_pidfd
- 3.202. local_waker
- 3.203. lock_value_accessors
- 3.204. log_syntax
- 3.205. map_try_insert
- 3.206. mapped_lock_guards
- 3.207. maybe_uninit_array_assume_init
- 3.208. maybe_uninit_as_bytes
- 3.209. maybe_uninit_fill
- 3.210. maybe_uninit_slice
- 3.211. maybe_uninit_uninit_array_transpose
- 3.212. maybe_uninit_write_slice
- 3.213. mem_copy_fn
- 3.214. mixed_integer_ops_unsigned_sub
- 3.215. more_float_constants
- 3.216. mpmc_channel
- 3.217. new_range_api
- 3.218. new_zeroed_alloc
- 3.219. next_index
- 3.220. non_null_from_ref
- 3.221. nonnull_provenance
- 3.222. nonzero_bitwise
- 3.223. nonzero_from_mut
- 3.224. nonzero_internals
- 3.225. nonzero_ops
- 3.226. numfmt
- 3.227. once_cell_get_mut
- 3.228. once_cell_try
- 3.229. once_cell_try_insert
- 3.230. one_sided_range
- 3.231. option_array_transpose
- 3.232. option_zip
- 3.233. os_str_slice
- 3.234. os_string_pathbuf_leak
- 3.235. os_string_truncate
- 3.236. panic_abort
- 3.237. panic_always_abort
- 3.238. panic_backtrace_config
- 3.239. panic_can_unwind
- 3.240. panic_internals
- 3.241. panic_payload_as_str
- 3.242. panic_unwind
- 3.243. panic_update_hook
- 3.244. partial_ord_chaining_methods
- 3.245. path_add_extension
- 3.246. path_file_prefix
- 3.247. pattern
- 3.248. pattern_type_macro
- 3.249. pattern_type_range_trait
- 3.250. peer_credentials_unix_socket
- 3.251. phantom_variance_markers
- 3.252. pin_coerce_unsized_trait
- 3.253. pointer_is_aligned_to
- 3.254. pointer_like_trait
- 3.255. portable_simd
- 3.256. prelude_future
- 3.257. prelude_next
- 3.258. print_internals
- 3.259. proc_macro_def_site
- 3.260. proc_macro_diagnostic
- 3.261. proc_macro_expand
- 3.262. proc_macro_internals
- 3.263. proc_macro_quote
- 3.264. proc_macro_span
- 3.265. proc_macro_totokens
- 3.266. proc_macro_tracked_env
- 3.267. proc_macro_value
- 3.268. process_exitcode_internals
- 3.269. process_internals
- 3.270. profiler_runtime_lib
- 3.271. ptr_alignment_type
- 3.272. ptr_as_ref_unchecked
- 3.273. ptr_as_uninit
- 3.274. ptr_internals
- 3.275. ptr_mask
- 3.276. ptr_metadata
- 3.277. pub_crate_should_not_need_unstable_attr
- 3.278. random
- 3.279. range_bounds_is_empty
- 3.280. range_into_bounds
- 3.281. raw_os_error_ty
- 3.282. raw_slice_split
- 3.283. raw_vec_internals
- 3.284. read_buf
- 3.285. reentrant_lock
- 3.286. restricted_std
- 3.287. result_flattening
- 3.288. round_char_boundary
- 3.289. rt
- 3.290. rwlock_downgrade
- 3.291. sealed
- 3.292. seek_stream_len
- 3.293. select_unpredictable
- 3.294. set_ptr_value
- 3.295. setgroups
- 3.296. sgx_platform
- 3.297. sized_type_properties
- 3.298. slice_as_array
- 3.299. slice_as_chunks
- 3.300. slice_concat_ext
- 3.301. slice_concat_trait
- 3.302. slice_from_ptr_range
- 3.303. slice_index_methods
- 3.304. slice_internals
- 3.305. slice_iter_mut_as_mut_slice
- 3.306. slice_partition_dedup
- 3.307. slice_pattern
- 3.308. slice_ptr_get
- 3.309. slice_range
- 3.310. slice_split_once
- 3.311. slice_swap_unchecked
- 3.312. solid_ext
- 3.313. sort_floats
- 3.314. split_array
- 3.315. split_as_slice
- 3.316. std_internals
- 3.317. stdarch_arm_feature_detection
- 3.318. stdarch_mips_feature_detection
- 3.319. stdarch_powerpc_feature_detection
- 3.320. stdarch_s390x_feature_detection
- 3.321. stdio_makes_pipe
- 3.322. step_trait
- 3.323. str_as_str
- 3.324. str_from_raw_parts
- 3.325. str_from_utf16_endian
- 3.326. str_internals
- 3.327. str_lines_remainder
- 3.328. str_split_inclusive_remainder
- 3.329. str_split_remainder
- 3.330. str_split_whitespace_remainder
- 3.331. strict_overflow_ops
- 3.332. strict_provenance_atomic_ptr
- 3.333. string_from_utf8_lossy_owned
- 3.334. string_into_chars
- 3.335. string_remove_matches
- 3.336. substr_range
- 3.337. sync_poison_mod
- 3.338. sync_unsafe_cell
- 3.339. tcp_deferaccept
- 3.340. tcp_linger
- 3.341. tcp_quickack
- 3.342. tcplistener_into_incoming
- 3.343. temporary_niche_types
- 3.344. test
- 3.345. thin_box
- 3.346. thread_id_value
- 3.347. thread_local_internals
- 3.348. thread_raw
- 3.349. thread_sleep_until
- 3.350. thread_spawn_hook
- 3.351. trace_macros
- 3.352. track_path
- 3.353. transmutability
- 3.354. trusted_fused
- 3.355. trusted_len
- 3.356. trusted_len_next_unchecked
- 3.357. trusted_random_access
- 3.358. trusted_step
- 3.359. try_find
- 3.360. try_reserve_kind
- 3.361. try_trait_v2
- 3.362. try_trait_v2_residual
- 3.363. try_trait_v2_yeet
- 3.364. try_with_capacity
- 3.365. tuple_trait
- 3.366. type_ascription
- 3.367. ub_checks
- 3.368. uefi_std
- 3.369. unchecked_neg
- 3.370. unchecked_shifts
- 3.371. unicode_internals
- 3.372. unique_rc_arc
- 3.373. unix_file_vectored_at
- 3.374. unix_set_mark
- 3.375. unix_socket_ancillary_data
- 3.376. unix_socket_peek
- 3.377. unsafe_cell_access
- 3.378. unsafe_pinned
- 3.379. unsigned_nonzero_div_ceil
- 3.380. unsigned_signed_diff
- 3.381. unsize
- 3.382. unwrap_infallible
- 3.383. update_panic_count
- 3.384. utf16_extra
- 3.385. variant_count
- 3.386. vec_deque_iter_as_slices
- 3.387. vec_deque_pop_if
- 3.388. vec_into_raw_parts
- 3.389. vec_push_within_capacity
- 3.390. vec_split_at_spare
- 3.391. wasi_ext
- 3.392. windows_by_handle
- 3.393. windows_c
- 3.394. windows_change_time
- 3.395. windows_handle
- 3.396. windows_net
- 3.397. windows_process_exit_code_from
- 3.398. windows_process_extensions_async_pipes
- 3.399. windows_process_extensions_force_quotes
- 3.400. windows_process_extensions_main_thread_handle
- 3.401. windows_process_extensions_raw_attribute
- 3.402. windows_process_extensions_show_window
- 3.403. windows_stdio
- 3.404. wrapping_int_impl
- 3.405. wrapping_next_power_of_two
- 3.406. write_all_vectored
- 3.407. yeet_desugar_details