1. The Unstable Book
  2. 1. Compiler flags
    1. 1.1. codegen_backend
    2. 1.2. control_flow_guard
    3. 1.3. debug_info_for_profiling
    4. 1.4. emit_stack_sizes
    5. 1.5. extern_location
    6. 1.6. instrument_coverage
    7. 1.7. move_size_limit
    8. 1.8. profile
    9. 1.9. profile_sample_use
    10. 1.10. remap_cwd_prefix
    11. 1.11. report_time
    12. 1.12. sanitizer
    13. 1.13. self_profile
    14. 1.14. self_profile_events
    15. 1.15. source_based_code_coverage
    16. 1.16. src_hash_algorithm
    17. 1.17. strip
    18. 1.18. tls_model
    19. 1.19. unsound_mir_opts
  3. 2. Language features
    1. 2.1. aarch64_target_feature
    2. 2.2. abi_amdgpu_kernel
    3. 2.3. abi_avr_interrupt
    4. 2.4. abi_c_cmse_nonsecure_call
    5. 2.5. abi_efiapi
    6. 2.6. abi_msp430_interrupt
    7. 2.7. abi_ptx
    8. 2.8. abi_thiscall
    9. 2.9. abi_unadjusted
    10. 2.10. abi_vectorcall
    11. 2.11. abi_x86_interrupt
    12. 2.12. adt_const_params
    13. 2.13. adx_target_feature
    14. 2.14. alloc_error_handler
    15. 2.15. allocator_internals
    16. 2.16. allow_fail
    17. 2.17. allow_internal_unsafe
    18. 2.18. allow_internal_unstable
    19. 2.19. arbitrary_enum_discriminant
    20. 2.20. arbitrary_self_types
    21. 2.21. arm_target_feature
    22. 2.22. associated_type_bounds
    23. 2.23. associated_type_defaults
    24. 2.24. async_closure
    25. 2.25. auto_traits
    26. 2.26. avx512_target_feature
    27. 2.27. box_patterns
    28. 2.28. box_syntax
    29. 2.29. bpf_target_feature
    30. 2.30. c_unwind
    31. 2.31. c_variadic
    32. 2.32. capture_disjoint_fields
    33. 2.33. cfg_panic
    34. 2.34. cfg_sanitize
    35. 2.35. cfg_target_abi
    36. 2.36. cfg_target_has_atomic
    37. 2.37. cfg_target_thread_local
    38. 2.38. cfg_version
    39. 2.39. closure_track_caller
    40. 2.40. cmpxchg16b_target_feature
    41. 2.41. cmse_nonsecure_entry
    42. 2.42. compiler_builtins
    43. 2.43. const_async_blocks
    44. 2.44. const_eval_limit
    45. 2.45. const_extern_fn
    46. 2.46. const_fn_floating_point_arithmetic
    47. 2.47. const_fn_fn_ptr_basics
    48. 2.48. const_fn_trait_bound
    49. 2.49. const_for
    50. 2.50. const_generics_defaults
    51. 2.51. const_impl_trait
    52. 2.52. const_mut_refs
    53. 2.53. const_precise_live_drops
    54. 2.54. const_raw_ptr_deref
    55. 2.55. const_refs_to_cell
    56. 2.56. const_trait_impl
    57. 2.57. const_try
    58. 2.58. crate_visibility_modifier
    59. 2.59. custom_inner_attributes
    60. 2.60. custom_test_frameworks
    61. 2.61. decl_macro
    62. 2.62. default_alloc_error_handler
    63. 2.63. default_type_parameter_fallback
    64. 2.64. derive_default_enum
    65. 2.65. destructuring_assignment
    66. 2.66. doc_cfg
    67. 2.67. doc_cfg_hide
    68. 2.68. doc_keyword
    69. 2.69. doc_masked
    70. 2.70. doc_notable_trait
    71. 2.71. doc_primitive
    72. 2.72. dropck_eyepatch
    73. 2.73. ermsb_target_feature
    74. 2.74. exclusive_range_pattern
    75. 2.75. exhaustive_patterns
    76. 2.76. explicit_generic_args_with_impl_trait
    77. 2.77. extern_types
    78. 2.78. f16c_target_feature
    79. 2.79. ffi_const
    80. 2.80. ffi_pure
    81. 2.81. ffi_returns_twice
    82. 2.82. fn_align
    83. 2.83. format_args_capture
    84. 2.84. fundamental
    85. 2.85. generators
    86. 2.86. generic_arg_infer
    87. 2.87. generic_associated_types
    88. 2.88. generic_const_exprs
    89. 2.89. half_open_range_patterns
    90. 2.90. hexagon_target_feature
    91. 2.91. if_let_guard
    92. 2.92. imported_main
    93. 2.93. in_band_lifetimes
    94. 2.94. infer_static_outlives_requirements
    95. 2.95. inherent_associated_types
    96. 2.96. inline_const
    97. 2.97. intra_doc_pointers
    98. 2.98. intrinsics
    99. 2.99. isa_attribute
    100. 2.100. label_break_value
    101. 2.101. lang_items
    102. 2.102. large_assignments
    103. 2.103. let_chains
    104. 2.104. let_else
    105. 2.105. link_cfg
    106. 2.106. link_llvm_intrinsics
    107. 2.107. linkage
    108. 2.108. lint_reasons
    109. 2.109. marker_trait_attr
    110. 2.110. min_specialization
    111. 2.111. mips_target_feature
    112. 2.112. more_qualified_paths
    113. 2.113. movbe_target_feature
    114. 2.114. must_not_suspend
    115. 2.115. naked_functions
    116. 2.116. native_link_modifiers
    117. 2.117. native_link_modifiers_as_needed
    118. 2.118. native_link_modifiers_bundle
    119. 2.119. native_link_modifiers_verbatim
    120. 2.120. native_link_modifiers_whole_archive
    121. 2.121. needs_panic_runtime
    122. 2.122. negative_impls
    123. 2.123. never_type
    124. 2.124. never_type_fallback
    125. 2.125. nll
    126. 2.126. no_core
    127. 2.127. no_coverage
    128. 2.128. no_niche
    129. 2.129. no_sanitize
    130. 2.130. non_exhaustive_omitted_patterns_lint
    131. 2.131. object_safe_for_dispatch
    132. 2.132. omit_gdb_pretty_printer_section
    133. 2.133. optimize_attribute
    134. 2.134. panic_runtime
    135. 2.135. platform_intrinsics
    136. 2.136. plugin
    137. 2.137. powerpc_target_feature
    138. 2.138. precise_pointer_size_matching
    139. 2.139. prelude_import
    140. 2.140. proc_macro_hygiene
    141. 2.141. profiler_runtime
    142. 2.142. raw_dylib
    143. 2.143. raw_ref_op
    144. 2.144. register_attr
    145. 2.145. register_tool
    146. 2.146. relaxed_struct_unsize
    147. 2.147. repr_simd
    148. 2.148. repr128
    149. 2.149. riscv_target_feature
    150. 2.150. rtm_target_feature
    151. 2.151. rustc_allow_const_fn_unstable
    152. 2.152. rustc_attrs
    153. 2.153. rustc_private
    154. 2.154. simd_ffi
    155. 2.155. specialization
    156. 2.156. sse4a_target_feature
    157. 2.157. staged_api
    158. 2.158. start
    159. 2.159. static_nobundle
    160. 2.160. stmt_expr_attributes
    161. 2.161. structural_match
    162. 2.162. target_feature_11
    163. 2.163. tbm_target_feature
    164. 2.164. test_2018_feature
    165. 2.165. thread_local
    166. 2.166. trait_alias
    167. 2.167. trait_upcasting
    168. 2.168. transparent_unions
    169. 2.169. trivial_bounds
    170. 2.170. try_blocks
    171. 2.171. type_alias_impl_trait
    172. 2.172. type_ascription
    173. 2.173. unboxed_closures
    174. 2.174. unsized_fn_params
    175. 2.175. unsized_locals
    176. 2.176. unsized_tuple_coercion
    177. 2.177. untagged_unions
    178. 2.178. wasm_abi
    179. 2.179. wasm_target_feature
  4. 3. Library Features
    1. 3.1. alloc_error_hook
    2. 3.2. alloc_internals
    3. 3.3. alloc_layout_extra
    4. 3.4. allocator_api
    5. 3.5. arc_new_cyclic
    6. 3.6. array_chunks
    7. 3.7. array_error_internals
    8. 3.8. array_from_fn
    9. 3.9. array_methods
    10. 3.10. array_windows
    11. 3.11. array_zip
    12. 3.12. as_array_of_cells
    13. 3.13. asm
    14. 3.14. assert_matches
    15. 3.15. async_stream
    16. 3.16. atomic_from_mut
    17. 3.17. atomic_mut_ptr
    18. 3.18. available_parallelism
    19. 3.19. backtrace
    20. 3.20. backtrace_frames
    21. 3.21. bench_black_box
    22. 3.22. bigint_helper_methods
    23. 3.23. binary_heap_as_slice
    24. 3.24. binary_heap_drain_sorted
    25. 3.25. binary_heap_into_iter_sorted
    26. 3.26. binary_heap_retain
    27. 3.27. bool_to_option
    28. 3.28. bound_as_ref
    29. 3.29. bound_map
    30. 3.30. box_into_boxed_slice
    31. 3.31. box_into_inner
    32. 3.32. box_into_pin
    33. 3.33. btree_drain_filter
    34. 3.34. buf_read_has_data_left
    35. 3.35. build_hasher_simple_hash_one
    36. 3.36. c_size_t
    37. 3.37. c_void_variant
    38. 3.38. can_vector
    39. 3.39. cell_filter_map
    40. 3.40. cell_leak
    41. 3.41. cell_update
    42. 3.42. cfg_accessible
    43. 3.43. cfg_eval
    44. 3.44. char_error_internals
    45. 3.45. char_indices_offset
    46. 3.46. char_internals
    47. 3.47. coerce_unsized
    48. 3.48. concat_idents
    49. 3.49. const_align_of_val
    50. 3.50. const_align_of_val_raw
    51. 3.51. const_alloc_layout
    52. 3.52. const_arguments_as_str
    53. 3.53. const_assert_type
    54. 3.54. const_assume
    55. 3.55. const_bigint_helper_methods
    56. 3.56. const_btree_new
    57. 3.57. const_caller_location
    58. 3.58. const_cell_into_inner
    59. 3.59. const_convert
    60. 3.60. const_cow_is_borrowed
    61. 3.61. const_cstr_unchecked
    62. 3.62. const_default_impls
    63. 3.63. const_deref
    64. 3.64. const_discriminant
    65. 3.65. const_eval_select
    66. 3.66. const_float_bits_conv
    67. 3.67. const_float_classify
    68. 3.68. const_fmt_arguments_new
    69. 3.69. const_format_args
    70. 3.70. const_heap
    71. 3.71. const_inherent_unchecked_arith
    72. 3.72. const_int_unchecked_arith
    73. 3.73. const_intrinsic_copy
    74. 3.74. const_intrinsic_forget
    75. 3.75. const_intrinsic_raw_eq
    76. 3.76. const_io_structs
    77. 3.77. const_ip
    78. 3.78. const_ipv4
    79. 3.79. const_ipv6
    80. 3.80. const_likely
    81. 3.81. const_maybe_uninit_as_ptr
    82. 3.82. const_maybe_uninit_assume_init
    83. 3.83. const_maybe_uninit_write
    84. 3.84. const_nonnull_slice_from_raw_parts
    85. 3.85. const_num_from_num
    86. 3.86. const_option
    87. 3.87. const_pin
    88. 3.88. const_pref_align_of
    89. 3.89. const_ptr_is_null
    90. 3.90. const_ptr_offset
    91. 3.91. const_ptr_offset_from
    92. 3.92. const_ptr_read
    93. 3.93. const_ptr_write
    94. 3.94. const_raw_ptr_comparison
    95. 3.95. const_replace
    96. 3.96. const_result
    97. 3.97. const_size_of_val
    98. 3.98. const_size_of_val_raw
    99. 3.99. const_slice_first_last
    100. 3.100. const_slice_from_raw_parts
    101. 3.101. const_slice_ptr_len
    102. 3.102. const_socketaddr
    103. 3.103. const_swap
    104. 3.104. const_transmute_copy
    105. 3.105. const_type_id
    106. 3.106. const_type_name
    107. 3.107. const_unsafecell_get_mut
    108. 3.108. container_error_extra
    109. 3.109. control_flow_enum
    110. 3.110. convert_float_to_int
    111. 3.111. core_intrinsics
    112. 3.112. core_panic
    113. 3.113. core_private_bignum
    114. 3.114. core_private_diy_float
    115. 3.115. cow_is_borrowed
    116. 3.116. cstring_from_vec_with_nul
    117. 3.117. cursor_remaining
    118. 3.118. deadline_api
    119. 3.119. dec2flt
    120. 3.120. default_free_fn
    121. 3.121. derive_clone_copy
    122. 3.122. derive_eq
    123. 3.123. dir_entry_ext2
    124. 3.124. discriminant_kind
    125. 3.125. dispatch_from_dyn
    126. 3.126. div_duration
    127. 3.127. drain_filter
    128. 3.128. duration_checked_float
    129. 3.129. duration_constants
    130. 3.130. duration_consts_2
    131. 3.131. edition_panic
    132. 3.132. entry_insert
    133. 3.133. error_iter
    134. 3.134. error_type_id
    135. 3.135. exact_size_is_empty
    136. 3.136. exit_status_error
    137. 3.137. extend_one
    138. 3.138. fd
    139. 3.139. fd_read
    140. 3.140. float_interpolation
    141. 3.141. flt2dec
    142. 3.142. fmt_internals
    143. 3.143. fn_traits
    144. 3.144. forget_unsized
    145. 3.145. format_args_nl
    146. 3.146. future_poll_fn
    147. 3.147. gen_future
    148. 3.148. generator_trait
    149. 3.149. get_mut_unchecked
    150. 3.150. global_asm
    151. 3.151. hash_drain_filter
    152. 3.152. hash_raw_entry
    153. 3.153. hash_set_entry
    154. 3.154. hashmap_internals
    155. 3.155. inherent_ascii_escape
    156. 3.156. inplace_iteration
    157. 3.157. int_abs_diff
    158. 3.158. int_error_internals
    159. 3.159. int_log
    160. 3.160. int_roundings
    161. 3.161. integer_atomics
    162. 3.162. internal_output_capture
    163. 3.163. into_future
    164. 3.164. io_error_more
    165. 3.165. io_error_uncategorized
    166. 3.166. io_read_to_string
    167. 3.167. io_safety
    168. 3.168. io_slice_advance
    169. 3.169. ip
    170. 3.170. is_sorted
    171. 3.171. is_symlink
    172. 3.172. iter_advance_by
    173. 3.173. iter_intersperse
    174. 3.174. iter_is_partitioned
    175. 3.175. iter_order_by
    176. 3.176. iter_partition_in_place
    177. 3.177. iter_zip
    178. 3.178. layout_for_ptr
    179. 3.179. liballoc_internals
    180. 3.180. libstd_sys_internals
    181. 3.181. libstd_thread_internals
    182. 3.182. linked_list_cursors
    183. 3.183. linked_list_remove
    184. 3.184. linux_pidfd
    185. 3.185. llvm_asm
    186. 3.186. log_syntax
    187. 3.187. map_entry_replace
    188. 3.188. map_first_last
    189. 3.189. map_try_insert
    190. 3.190. maybe_uninit_array_assume_init
    191. 3.191. maybe_uninit_extra
    192. 3.192. maybe_uninit_slice
    193. 3.193. maybe_uninit_uninit_array
    194. 3.194. maybe_uninit_write_slice
    195. 3.195. mixed_integer_ops
    196. 3.196. mutex_unlock
    197. 3.197. new_uninit
    198. 3.198. nonnull_slice_from_raw_parts
    199. 3.199. nonzero_is_power_of_two
    200. 3.200. nonzero_ops
    201. 3.201. numfmt
    202. 3.202. once_cell
    203. 3.203. option_get_or_insert_default
    204. 3.204. option_result_contains
    205. 3.205. option_result_unwrap_unchecked
    206. 3.206. option_zip
    207. 3.207. panic_abort
    208. 3.208. panic_always_abort
    209. 3.209. panic_info_message
    210. 3.210. panic_internals
    211. 3.211. panic_unwind
    212. 3.212. path_file_prefix
    213. 3.213. path_try_exists
    214. 3.214. pattern
    215. 3.215. peer_credentials_unix_socket
    216. 3.216. pin_deref_mut
    217. 3.217. pin_static_ref
    218. 3.218. poll_ready
    219. 3.219. print_internals
    220. 3.220. proc_macro_def_site
    221. 3.221. proc_macro_diagnostic
    222. 3.222. proc_macro_internals
    223. 3.223. proc_macro_quote
    224. 3.224. proc_macro_span
    225. 3.225. proc_macro_span_shrink
    226. 3.226. proc_macro_tracked_env
    227. 3.227. process_exitcode_placeholder
    228. 3.228. process_internals
    229. 3.229. profiler_runtime_lib
    230. 3.230. ptr_as_uninit
    231. 3.231. ptr_internals
    232. 3.232. ptr_metadata
    233. 3.233. raw_os_nonzero
    234. 3.234. raw_vec_internals
    235. 3.235. read_initializer
    236. 3.236. ready_macro
    237. 3.237. receiver_trait
    238. 3.238. restricted_std
    239. 3.239. result_cloned
    240. 3.240. result_contains_err
    241. 3.241. result_copied
    242. 3.242. result_flattening
    243. 3.243. result_into_ok_or_err
    244. 3.244. rt
    245. 3.245. saturating_div
    246. 3.246. saturating_int_impl
    247. 3.247. sealed
    248. 3.248. seek_stream_len
    249. 3.249. set_ptr_value
    250. 3.250. setgroups
    251. 3.251. sgx_platform
    252. 3.252. slice_as_chunks
    253. 3.253. slice_concat_ext
    254. 3.254. slice_concat_trait
    255. 3.255. slice_group_by
    256. 3.256. slice_index_methods
    257. 3.257. slice_internals
    258. 3.258. slice_partition_at_index
    259. 3.259. slice_partition_dedup
    260. 3.260. slice_pattern
    261. 3.261. slice_ptr_get
    262. 3.262. slice_ptr_len
    263. 3.263. slice_range
    264. 3.264. slice_split_at_unchecked
    265. 3.265. slice_swap_unchecked
    266. 3.266. solid_ext
    267. 3.267. sort_internals
    268. 3.268. std_internals
    269. 3.269. stdin_forwarders
    270. 3.270. stdio_locked
    271. 3.271. stdsimd
    272. 3.272. step_trait
    273. 3.273. str_internals
    274. 3.274. str_split_as_str
    275. 3.275. str_split_inclusive_as_str
    276. 3.276. str_split_whitespace_as_str
    277. 3.277. stream_from_iter
    278. 3.278. string_extend_from_within
    279. 3.279. string_remove_matches
    280. 3.280. tcp_linger
    281. 3.281. tcplistener_into_incoming
    282. 3.282. termination_trait_lib
    283. 3.283. test
    284. 3.284. thread_id_value
    285. 3.285. thread_local_const_init
    286. 3.286. thread_local_internals
    287. 3.287. thread_spawn_unchecked
    288. 3.288. toowned_clone_into
    289. 3.289. total_cmp
    290. 3.290. trace_macros
    291. 3.291. track_path
    292. 3.292. trusted_len
    293. 3.293. trusted_random_access
    294. 3.294. trusted_step
    295. 3.295. try_find
    296. 3.296. try_reserve_kind
    297. 3.297. try_trait_v2
    298. 3.298. type_name_of_val
    299. 3.299. unchecked_math
    300. 3.300. unicode_internals
    301. 3.301. unix_chown
    302. 3.302. unix_process_wait_more
    303. 3.303. unix_socket_abstract
    304. 3.304. unix_socket_ancillary_data
    305. 3.305. unix_socket_peek
    306. 3.306. unsize
    307. 3.307. unwrap_infallible
    308. 3.308. unzip_option
    309. 3.309. update_panic_count
    310. 3.310. variant_count
    311. 3.311. vec_into_raw_parts
    312. 3.312. vec_spare_capacity
    313. 3.313. vec_split_at_spare
    314. 3.314. wasi_ext
    315. 3.315. windows_by_handle
    316. 3.316. windows_c
    317. 3.317. windows_file_type_ext
    318. 3.318. windows_handle
    319. 3.319. windows_net
    320. 3.320. windows_process_extensions_force_quotes
    321. 3.321. windows_process_extensions_raw_arg
    322. 3.322. windows_stdio
    323. 3.323. with_options
    324. 3.324. wrapping_int_impl
    325. 3.325. wrapping_next_power_of_two
    326. 3.326. write_all_vectored

The Rust Unstable Book

Library Features