1. Introduction
  2. 0001-private-fields
  3. 0002-rfc-process
  4. 0003-attribute-usage
  5. 0008-new-intrinsics
  6. 0016-more-attributes
  7. 0019-opt-in-builtin-traits
  8. 0026-remove-priv
  9. 0034-bounded-type-parameters
  10. 0040-libstd-facade
  11. 0042-regexps
  12. 0048-traits
  13. 0049-match-arm-attributes
  14. 0050-assert
  15. 0059-remove-tilde
  16. 0060-rename-strbuf
  17. 0063-module-file-system-hierarchy
  18. 0066-better-temporary-lifetimes
  19. 0068-const-unsafe-pointers
  20. 0069-ascii-literals
  21. 0071-const-block-expr
  22. 0079-undefined-struct-layout
  23. 0085-pattern-macros
  24. 0086-plugin-registrar
  25. 0087-trait-bounds-with-plus
  26. 0089-loadable-lints
  27. 0090-lexical-syntax-simplification
  28. 0092-struct-grammar
  29. 0093-remove-format-intl
  30. 0100-partial-cmp
  31. 0107-pattern-guards-with-bind-by-move
  32. 0109-remove-crate-id
  33. 0111-index-traits
  34. 0112-remove-cross-borrowing
  35. 0114-closures
  36. 0115-rm-integer-fallback
  37. 0116-no-module-shadowing
  38. 0123-share-to-threadsafe
  39. 0130-box-not-special
  40. 0131-target-specification
  41. 0132-ufcs
  42. 0135-where
  43. 0136-no-privates-in-public
  44. 0139-remove-cross-borrowing-entirely
  45. 0141-lifetime-elision
  46. 0151-capture-by-value
  47. 0155-anonymous-impl-only-in-same-module
  48. 0160-if-let
  49. 0164-feature-gate-slice-pats
  50. 0168-mod
  51. 0169-use-path-as-id
  52. 0179-and-mut-patterns
  53. 0184-tuple-accessors
  54. 0192-bounds-on-object-and-generic-types
  55. 0194-cfg-syntax
  56. 0195-associated-items
  57. 0198-slice-notation
  58. 0199-ownership-variants
  59. 0201-error-chaining
  60. 0202-subslice-syntax-change
  61. 0212-restore-int-fallback
  62. 0213-defaulted-type-params
  63. 0214-while-let
  64. 0216-collection-views
  65. 0218-empty-struct-with-braces
  66. 0221-panic
  67. 0230-remove-runtime
  68. 0231-upvar-capture-inference
  69. 0234-variants-namespace
  70. 0235-collections-conventions
  71. 0236-error-conventions
  72. 0240-unsafe-api-location
  73. 0241-deref-conversions
  74. 0243-trait-based-exception-handling
  75. 0246-const-vs-static
  76. 0255-object-safety
  77. 0256-remove-refcounting-gc-of-t
  78. 0320-nonzeroing-dynamic-drop
  79. 0326-restrict-xXX-to-ascii
  80. 0339-statically-sized-literals
  81. 0341-remove-virtual-structs
  82. 0342-keywords
  83. 0344-conventions-galore
  84. 0356-no-module-prefixes
  85. 0369-num-reform
  86. 0378-expr-macros
  87. 0379-remove-reflection
  88. 0380-stabilize-std-fmt
  89. 0385-module-system-cleanup
  90. 0387-higher-ranked-trait-bounds
  91. 0390-enum-namespacing
  92. 0401-coercions
  93. 0403-cargo-build-command
  94. 0404-change-prefer-dynamic
  95. 0418-struct-variants
  96. 0430-finalizing-naming-conventions
  97. 0438-precedence-of-plus
  98. 0439-cmp-ops-reform
  99. 0445-extension-trait-conventions
  100. 0446-es6-unicode-escapes
  101. 0447-no-unused-impl-parameters
  102. 0450-un-feature-gate-some-more-gates
  103. 0453-macro-reform
  104. 0458-send-improvements
  105. 0459-disallow-shadowing
  106. 0461-tls-overhaul
  107. 0463-future-proof-literal-suffixes
  108. 0469-feature-gate-box-patterns
  109. 0474-path-reform
  110. 0486-std-ascii-reform
  111. 0490-dst-syntax
  112. 0494-c_str-and-c_vec-stability
  113. 0495-array-pattern-changes
  114. 0501-consistent_no_prelude_attributes
  115. 0503-prelude-stabilization
  116. 0504-show-stabilization
  117. 0505-api-comment-conventions
  118. 0507-release-channels
  119. 0509-collections-reform-part-2
  120. 0517-io-os-reform
  121. 0520-new-array-repeat-syntax
  122. 0522-self-impl
  123. 0526-fmt-text-writer
  124. 0528-string-patterns
  125. 0529-conversion-traits
  126. 0531-define-rfc-scope
  127. 0532-self-in-use
  128. 0533-no-array-elem-moves
  129. 0534-deriving2derive
  130. 0544-rename-int-uint
  131. 0546-Self-not-sized-by-default
  132. 0550-macro-future-proofing
  133. 0556-raw-lifetime
  134. 0558-require-parentheses-for-chained-comparisons
  135. 0560-integer-overflow
  136. 0563-remove-ndebug
  137. 0565-show-string-guidelines
  138. 0572-rustc-attribute
  139. 0574-drain-range
  140. 0580-rename-collections
  141. 0587-fn-return-should-be-an-associated-type
  142. 0592-c-str-deref
  143. 0593-forbid-Self-definitions
  144. 0599-default-object-bound
  145. 0601-replace-be-with-become
  146. 0639-discriminant-intrinsic
  147. 0640-debug-improvements
  148. 0702-rangefull-expression
  149. 0735-allow-inherent-impls-anywhere
  150. 0736-privacy-respecting-fru
  151. 0738-variance
  152. 0769-sound-generic-drop
  153. 0771-std-iter-once
  154. 0803-type-ascription
  155. 0809-box-and-in-for-stdlib
  156. 0823-hash-simplification
  157. 0832-from-elem-with-love
  158. 0839-embrace-extend-extinguish
  159. 0840-no-panic-in-c-string
  160. 0873-type-macros
  161. 0879-small-base-lexing
  162. 0888-compiler-fence-intrinsics
  163. 0909-move-thread-local-to-std-thread
  164. 0911-const-fn
  165. 0921-entry_v3
  166. 0940-hyphens-considered-harmful
  167. 0953-op-assign
  168. 0968-closure-return-type-syntax
  169. 0979-align-splitn-with-other-languages
  170. 0980-read-exact
  171. 0982-dst-coercion
  172. 1011-process.exit
  173. 1014-stdout-existential-crisis
  174. 1023-rebalancing-coherence
  175. 1030-prelude-additions
  176. 1040-duration-reform
  177. 1044-io-fs-2.1
  178. 1047-socket-timeouts
  179. 1048-rename-soft-link-to-symlink
  180. 1054-str-words
  181. 1057-io-error-sync
  182. 1058-slice-tail-redesign
  183. 1066-safe-mem-forget
  184. 1068-rust-governance
  185. 1096-remove-static-assert
  186. 1102-rename-connect-to-join
  187. 1105-api-evolution
  188. 1119-result-expect
  189. 1122-language-semver
  190. 1123-str-split-at
  191. 1131-likely-intrinsic
  192. 1135-raw-pointer-comparisons
  193. 1152-slice-string-symmetry
  194. 1156-adjust-default-object-bounds
  195. 1174-into-raw-fd-socket-handle-traits
  196. 1183-swap-out-jemalloc
  197. 1184-stabilize-no_std
  198. 1191-hir
  199. 1192-inclusive-ranges
  200. 1193-cap-lints
  201. 1194-set-recovery
  202. 1199-simd-infrastructure
  203. 1200-cargo-install
  204. 1201-naked-fns
  205. 1210-impl-specialization
  206. 1211-mir
  207. 1212-line-endings
  208. 1214-projections-lifetimes-and-wf
  209. 1216-bang-type
  210. 1219-use-group-as
  211. 1228-placement-left-arrow
  212. 1229-compile-time-asserts
  213. 1236-stabilize-catch-panic
  214. 1238-nonparametric-dropck
  215. 1240-repr-packed-unsafe-ref
  216. 1241-no-wildcard-deps
  217. 1242-rust-lang-crates
  218. 1252-open-options
  219. 1257-drain-range-2
  220. 1260-main-reexport
  221. 1268-allow-overlapping-impls-on-marker-traits
  222. 1270-deprecation
  223. 1288-time-improvements
  224. 1291-promote-libc
  225. 1298-incremental-compilation
  226. 1300-intrinsic-semantics
  227. 1307-osstring-methods
  228. 1317-ide
  229. 1327-dropck-param-eyepatch
  230. 1328-global-panic-handler
  231. 1331-grammar-is-canonical
  232. 1358-repr-align
  233. 1359-process-ext-unix
  234. 1361-cargo-cfg-dependencies
  235. 1398-kinds-of-allocators
  236. 1399-repr-pack
  237. 1414-rvalue_static_promotion
  238. 1415-trim-std-os
  239. 1419-slice-copy
  240. 1422-pub-restricted
  241. 1432-replace-slice
  242. 1434-contains-method-for-ranges
  243. 1440-drop-types-in-const
  244. 1443-extended-compare-and-swap
  245. 1444-union
  246. 1445-restrict-constants-in-patterns
  247. 1461-net2-mutators
  248. 1467-volatile
  249. 1479-unix-socket
  250. 1492-dotdot-in-patterns
  251. 1498-ipv6addr-octets
  252. 1504-int128
  253. 1506-adt-kinds
  254. 1510-cdylib
  255. 1513-less-unwinding
  256. 1521-copy-clone-semantics
  257. 1522-conservative-impl-trait
  258. 1525-cargo-workspace
  259. 1535-stable-overflow-checks
  260. 1542-try-from
  261. 1543-integer_atomics
  262. 1548-global-asm
  263. 1552-contains-method-for-various-collections
  264. 1558-closure-to-fn-coercion
  265. 1559-attributes-with-literals
  266. 1560-name-resolution
  267. 1561-macro-naming
  268. 1566-proc-macros
  269. 1567-long-error-codes-explanation-normalization
  270. 1574-more-api-documentation-conventions
  271. 1576-macros-literal-matcher
  272. 1581-fused-iterator
  273. 1584-macros
  274. 1589-rustc-bug-fix-procedure
  275. 1590-macro-lifetimes
  276. 1598-generic_associated_types
  277. 1607-style-rfcs
  278. 1618-ergonomic-format-args
  279. 1620-regex-1.0
  280. 1623-static
  281. 1624-loop-break-value
  282. 1636-document_all_features
  283. 1640-duration-checked-sub
  284. 1643-memory-model-strike-team
  285. 1644-default-and-expanded-rustc-errors
  286. 1647-allow-self-in-where-clauses
  287. 1649-atomic-access
  288. 1651-movecell
  289. 1653-assert_ne
  290. 1660-try-borrow
  291. 1665-windows-subsystem
  292. 1679-panic-safe-slicing
  293. 1681-macros-1.1
  294. 1682-field-init-shorthand
  295. 1683-docs-team
  296. 1685-deprecate-anonymous-parameters
  297. 1695-add-error-macro
  298. 1696-discriminant
  299. 1717-dllimport
  300. 1721-crt-static
  301. 1725-unaligned-access
  302. 1728-north-star
  303. 1733-trait-alias
  304. 1758-repr-transparent
  305. 1774-roadmap-2017
  306. 1789-as-cell
  307. 1824-crates.io-default-ranking
  308. 1826-change-doc-default-urls
  309. 1828-rust-bookshelf
  310. 1845-shared-from-slice
  311. 1849-non-static-type-id
  312. 1857-stabilize-drop-order
  313. 1859-try-trait
  314. 1860-manually-drop
  315. 1861-extern-types
  316. 1866-more-readable-assert-eq
  317. 1868-portability-lint
  318. 1869-eprintln
  319. 1884-unstable-sort
  320. 1892-uninitialized-uninhabited
  321. 1909-unsized-rvalues
  322. 1925-optional-match-vert
  323. 1937-ques-in-main
  324. 1940-must-use-functions
  325. 1946-intra-rustdoc-links
  326. 1951-expand-impl-trait
  327. 1961-clamp
  328. 1966-unsafe-pointer-reform
  329. 1969-cargo-prepublish
  330. 1974-global-allocators
  331. 1977-public-private-dependencies
  332. 1983-nursery-deprecation
  333. 1985-tiered-browser-support
  334. 1990-external-doc-attribute
  335. 2000-const-generics
  336. 2005-match-ergonomics
  337. 2008-non-exhaustive
  338. 2011-generic-assert
  339. 2025-nested-method-calls
  340. 2027-object_safe_for_dispatch
  341. 2033-experimental-coroutines
  342. 2043-is-aligned-intrinsic
  343. 2044-license-rfcs
  344. 2045-target-feature
  345. 2046-label-break-value
  346. 2052-epochs
  347. 2056-allow-trivial-where-clause-constraints
  348. 2057-refcell-replace
  349. 2070-panic-implementation
  350. 2071-impl-trait-existential-types
  351. 2071-impl-trait-type-alias
  352. 2086-allow-if-let-irrefutables
  353. 2089-implied-bounds
  354. 2091-inline-semantic
  355. 2093-infer-outlives
  356. 2094-nll
  357. 2102-unnamed-fields
  358. 2103-tool-attributes
  359. 2113-dyn-trait-syntax
  360. 2115-argument-lifetimes
  361. 2116-alloc-me-maybe
  362. 2124-option-filter
  363. 2126-path-clarity
  364. 2128-use-nested-groups
  365. 2132-copy-closures
  366. 2133-all-the-clones
  367. 2136-build-systems
  368. 2137-variadic
  369. 2141-alternative-registries
  370. 2145-type-privacy
  371. 2151-raw-identifiers
  372. 2166-impl-only-use
  373. 2169-euclidean-modulo
  374. 2175-if-while-or-patterns
  375. 2195-really-tagged-unions
  376. 2196-metabuild
  377. 2203-const-repeat-expr
  378. 2226-fmt-debug-hex
  379. 2229-capture-disjoint-fields
  380. 2230-bury-description
  381. 2235-libc-struct-traits
  382. 2250-finalize-impl-dyn-syntax
  383. 2282-profile-dependencies
  384. 2289-associated-type-bounds
  385. 2294-if-let-guard
  386. 2295-os-str-pattern
  387. 2296-option-replace
  388. 2298-macro-at-most-once-rep
  389. 2300-self-in-typedefs
  390. 2302-tuple-struct-self-ctor
  391. 2306-convert-id
  392. 2307-concrete-nonzero-types
  393. 2314-roadmap-2018
  394. 2318-custom-test-frameworks
  395. 2325-stable-simd
  396. 2333-prior-art
  397. 2338-type-alias-enum-variants
  398. 2341-const-locals
  399. 2342-const-control-flow
  400. 2344-const-looping
  401. 2345-const-panic
  402. 2349-pin
  403. 2351-is-sorted
  404. 2359-subslice-pattern-syntax
  405. 2360-bench-black-box
  406. 2361-dbg-macro
  407. 2363-arbitrary-enum-discriminant
  408. 2383-lint-reasons
  409. 2386-used
  410. 2388-try-expr
  411. 2394-async_await
  412. 2396-target-feature-1.1
  413. 2397-do-not-recommend
  414. 2412-optimize-attr
  415. 2420-unreserve-proc
  416. 2421-unreservations-2018
  417. 2436-style-guide
  418. 2437-rustfmt-stability
  419. 2438-deny-integer-literal-overflow-lint
  420. 2451-re-rebalancing-coherence
  421. 2457-non-ascii-idents
  422. 2471-lint-test-inner-function
  423. 2476-clippy-uno
  424. 2480-liballoc
  425. 2495-min-rust-version
  426. 2497-if-let-chains
  427. 2500-needle
  428. 2504-fix-error
  429. 2514-union-initialization-and-drop
  430. 2515-type_alias_impl_trait
  431. 2521-c_void-reunification
  432. 2523-cfg-path-version
  433. 2526-const-wildcard
  434. 2528-type-changing-struct-update-syntax
  435. 2532-associated-type-defaults
  436. 2535-or-patterns
  437. 2539-cfg_attr-multiple-attrs
  438. 2561-future-possibilities
  439. 2565-formal-function-parameter-attributes
  440. 2570-linked-list-cursors
  441. 2574-simd-ffi
  442. 2580-ptr-meta
  443. 2582-raw-reference-mir-operator
  444. 2585-unsafe-block-in-unsafe-fn
  445. 2591-exhaustive-integer-pattern-matching
  446. 2592-futures
  447. 2603-rust-symbol-name-mangling-v0
  448. 2627-raw-dylib-kind
  449. 2645-transparent-unions
  450. 2657-roadmap-2019
  451. 2678-named-custom-cargo-profiles
  452. 2689-compiler-team-contributors
  453. 2696-debug-map-key-value
  454. 2700-associated-constants-on-ints
  455. 2707-dotdot-patterns
  456. 2730-cargo-token-from-process
  457. 2789-sparse-index
  458. 2795-format-args-implicit-identifiers
  459. 2797-project-ffi-unwind
  460. 2803-target-tier-policy
  461. 2834-cargo-report-future-incompat
  462. 2835-project-safe-transmute
  463. 2836-project-asm
  464. 2837-demote-apple-32bit
  465. 2841-export-executable-symbols
  466. 2843-llvm-asm
  467. 2856-project-groups
  468. 2857-roadmap-2020
  469. 2867-isa-attribute
  470. 2873-inline-asm
  471. 2904-compiler-major-change-process
  472. 2906-cargo-workspace-deduplicate
  473. 2909-destructuring-assignment
  474. 2912-rust-analyzer
  475. 2920-inline-const
  476. 2930-read-buf
  477. 2945-c-unwind-abi
  478. 2951-native-link-modifiers
  479. 2957-cargo-features2
  480. 2959-promote-aarch64-unknown-linux-gnu-to-tier1
  481. 2963-rustdoc-json
  482. 2965-project-error-handling
  483. 2977-stdsimd
  484. 2992-cfg-target-abi
  485. 2996-async-stream
  486. 3007-panic-plan
  487. 3013-conditional-compilation-checking
  488. 3014-must-not-suspend-lint
  489. 3016-const-ub
  490. 3027-infallible-promotion
  491. 3028-cargo-binary-dependencies
  492. 3037-roadmap-2021
  493. 3052-optional-authors-field
  494. 3058-try-trait-v2
  495. 3085-edition-2021
  496. 3086-macro-metavar-expr
  497. 3101-reserved_prefixes
  498. 3114-prelude-2021
  499. 3128-io-safety
  500. 3137-let-else

The Rust RFC Book

Moved to 2071-impl-trait-existential-types.md.