Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save williamyaoh/e3807fbbd3774a634dba0a5e0ad739c1 to your computer and use it in GitHub Desktop.
Save williamyaoh/e3807fbbd3774a634dba0a5e0ad739c1 to your computer and use it in GitHub Desktop.
Status (as best it is known) of RFCs not yet documented or tracked in https://github.com/rust-lang-nursery/reference/issues/9

With full credit where it is due: to @EH2406, who put the original together (here). Note that I'm doing a quick pass and confirming each of these as I get to them.

Need documentation - * means this is (should be) in the expressions chapter rewrite

  • #0090: lexical-syntax-simplification

    Lexical syntax is already documented in the grammar reference, but isn't up-to-date with RFC 0090. Since there's already a lexical syntax section in the Rust Reference, probably just add this to the Reference instead.

  • #0213: defaulted-type-params

  • #0241: deref-conversions 8.3.2 is missing one (arguably)

  • #0940: hyphens-considered-harmful partially in 6.1.2.1, but it links to the RFC

  • #0953: op-assign, the reference ignores this. (std documentation exists though) *

  • #1560: name-resolution

Stabilized; not reviewed

  • #0087: trait-bounds-with-plus
  • #0130: box-not-special
  • #0136: no-privates-in-public
  • #0141: lifetime-elision documented int nomicon and book but it is not in the reference
  • #0192: bounds-on-object-and-generic-types
  • #0194: cfg-syntax
  • #0195: associated-items
  • #0201: error-chaining
  • #0212: restore-int-fallback
  • #0221: panic
  • #0234: variants-namespace
  • #0235: collections-conventions "This is a combined conventions and library stabilization RFC." so I am alsowe adding it to the conventions list.
  • #0243: trait-based-exception-handling The "?", not entirely implemented.
  • #0255: object-safety
  • #0320: nonzeroing-dynamic-drop
  • #0339: statically-sized-literals
  • #0369: num-reform
  • #0380: stabilize-std-fmt
  • #0387: higher-ranked-trait-bounds
  • #0401: coercions
  • #0404: change-prefer-dynamic
  • #0438: precedence-of-plus
  • #0447: no-unused-impl-parameters
  • #0458: send-improvements
  • #0461: tls-overhaul
  • #0463: future-proof-literal-suffixes
  • #0474: path-reform
  • #0486: std-ascii-reform
  • #0490: dst-syntax
  • #0494: c_str-and-c_vec-stability
  • #0501: consistent_no_prelude_attributes no STD things.
  • #0503: prelude-stabilization
  • #0504: show-stabilization
  • #0509: collections-reform-part-2
  • #0517: io-os-reform
  • #0522: self-impl
  • #0526: fmt-text-writer
  • #0529: conversion-traits
  • #0546: Self-not-sized-by-default
  • #0587: fn-return-should-be-an-associated-type
  • #0592: c-str-deref
  • #0593: forbid-Self-definitions
  • #0599: default-object-bound
  • #0601: replace-be-with-become
  • #0640: debug-improvements
  • #0702: rangefull-expression
  • #0735: allow-inherent-impls-anywhere
  • #0736: privacy-respecting-fru
  • #0738: variance
  • #0769: sound-generic-drop replaced by 1238
  • #0823: hash-simplification
  • #0832: from-elem-with-love
  • #0839: embrace-extend-extinguish
  • #0840: no-panic-in-c-string.md Update 0840-no-panic-in-c-string
  • #0879: small-base-lexing
  • #0909: move-thread-local-to-std-thread
  • #0921: entry_v3
  • #0979: align-splitn-with-other-languages
  • #0980: read-exact
  • #0982: dst-coercion
  • #1011: process.exit
  • #1014: stdout-existential-crisis
  • #1023: rebalancing-coherence orphan rules
  • #1030: prelude-additions
  • #1040: duration-reform
  • #1044: io-fs-2.1
  • #1047: socket-timeouts
  • #1048: rename-soft-link-to-symlink
  • #1135: raw-pointer-comparisons
  • #1156: adjust-default-object-bounds
  • #1174: into-raw-fd-socket-handle-traits
  • #1184: stabilize-no_std
  • #1193: cap-lints FCP in pr not issue. It is just a rustc flag.
  • #1194: set-recovery stable in 1.9
  • #1212: line-endings
  • #1219: use-group-as
  • #1229: compile-time-asserts maybe prosses.
  • #1257: drain-range-2 partially stableized.
  • #1260: main-reexport So the tracking issue is open, but the implomantation is merged, and I think it is insta-stable;
  • #1268: allow-overlapping-impls-on-marker-traits
  • #1288: time-improvements
  • #1291: promote-libc
  • #1300: intrinsic-semantics
  • #1307: osstring-methods
  • #1328: global-panic-handler
  • #1359: process-ext-unix partially stableized.
  • #1415: trim-std-os stable in 1.8
  • #1443: extended-compare-and-swap
  • #1461: net2-mutators stable in 1.9
  • #1467: volatile
  • #1479: unix-socket
  • #1492: dotdot-in-patterns tracking issue
  • #1506: adt-kinds tagged B-unstable and open, but both parts are FCP approved.
  • #1510: cdylib.md Rename 1510-rdylib.md to 1510-cdylib
  • #1513: less-unwinding
  • #1535: stable-overflow-checks maybe just a rustc details.
  • #1552: contains-method-for-various-collections
  • #1717: dllimport partially insta-stable
  • #1679: panic-safe-slicing partially stable

Reviewed

Not yet stabilized

  • #0086: plugin-registrar This is compiler plugins related.
  • #0089: loadable-lints This is compiler plugins related.
  • #0107: pattern-guards-with-bind-by-move
  • #0469: feature-gate-box-patterns box patterns
  • #0528: string-patterns
  • #0639: discriminant-intrinsic
  • #0809: box-and-in-for-stdlib
  • #0888: compiler-fence-intrinsics all intrinsics are unstable
  • #0911: const-fn
  • #1183: swap-out-jemalloc
  • #1192: inclusive-ranges Such bike sheding.
  • #1201: naked-fns
  • #1210: impl-specialization
  • #1211: mir Mir is internal to rustc so may not nead eany docs, and the issue is open.
  • out of order 1191-hir.md but hir needs the similar treatment as mir.
  • #1216: bang-type is not yet stabilized.
  • #1228: placement-left-arrow
  • #1238: nonparametric-dropck
  • #1240: repr-packed-unsafe-ref Tracking issue is open, but the segfalts are not seen on playpen.
  • #1298: incremental-compilation
  • #1327: dropck-param-eyepatch
  • #1399: repr-pack
  • #1419: slice-copy
  • #1422: pub-restricted
  • #1434: contains-method-for-ranges
  • #1440: drop-types-in-const
  • #1444: union
  • [#1445](https://github.com/rust-lang/rfcs/tree/master/text/1445-restrict-constants-in-patterns.md Remove duplicate 0000-restrict-constants-in-patterns.md): restrict-constants-in-patterns
  • #1504: int128
  • #1522: conservative-impl-trait
  • #1542: try-from
  • #1543: integer_atomics
  • #1548: global-asm
  • #1559: attributes-with-literals
  • #1561: macro-naming
  • #1581: fused-iterator
  • #1696: discriminant
  • #1682: field-init-shorthand is going to be covered by #38830

(new)

  • #0202: subslice-syntax-change (in fact all of slice patterns)
  • #0803: type-ascription
  • #1252: open-options (partially stableized)
  • #1845: shared-from-slice
  • #1860: manually drop
  • #1869: eprintln
  • #1884: unstable-sort

Documentation Not Required

Already documented in reference

(new)

  • #0168 and #0532: self-in-use (formerly mod) documenented in 6.1.2.2

  • #0169: use-path-as-id documented in 6.2.1 Moudles (this includes extern crate as well)

  • #0534: deriving2derive 'derive' is used in all documentation as far as I can tell, see 6.1.2

  • #0572: rustc-attribute

    Documented in section 6.3.13, under custom_attribute

  • #1270: deprecation

    Documented in section 6.3.7, under deprecated. Might want a slightly expanded description, but the existing one is sufficient.

  • #1623: static Now in beta reference 5.1

Already documented in std

(new)

Closures

closures are documented in 8.1.10 Closure types and 7.2.15 Lambda expressions. It neads to cover all the changes in:

  • #0114: closures
  • #0151: capture-by-value
  • #0231: upvar-capture-inference more unboxed closures.
  • #0968: closure-return-type-syntax

Macros

Some one more expert needs to check if all of these are documented:

  • #0085: pattern-macros
  • #0378: expr-macros
  • #0453: macro-reform
  • #0550: macro-future-proofing wow, I don't get this one.
  • #0873: type-macros
  • #1681: macros-1.1 stable in 1.15

Cargo Things

Error messages

These don't add any extra language features or syntax, but instead make certain existing syntactical combinations illegal. The compiler will already give useful information if someone runs across them.

  • #0116: no-module-shadowing
  • #0459: disallow-shadowing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment