Subteam report: lang 2015-12-04
Highlights
We have decided to promote the following RFCs to final comment period:
- RFC #1384: This RFC amends RFC 550 to includ an abstract specification rather than an algorithm. It is the result of revisiting the code in light of numerous bugs that were uncovered in practice. Note that fixing these bugs is known to break some macros that were found in the wild. Macro authors may wish to read the RFC, or at least look at the list of regressions found on crater. (Note that we also plan to amend RFC 550 to be more accepting so to avoid most of those regressions.)
We did not reach firm decisions on the two pending FCP RFCs; but we discussed a number of aspects and posted lengthy comments with our tentative conclusions (#1129 and #1196).
Note: Next week is Mozilla's company wide "all hands" work week, so we may or may not have a meeting and will likely not have any subteam report.
-- nmatsakis
Dashboard
RFC phase
- PR #197:
ManuallyDroptype gives precise control of dtors of inline data. - PR #243: Trait-based exception handling
- PR #733: Amend macro future proofing RFC
- PR #1062: Constants that depend on type parameters in generic code
- PR #1148: Mutually exclusive traits
- PR #1177: Anonymous/placeholder lifetime "'_".
- PR #1180:
Propose
Interior<T>data-type, to allow moves out of the dropped value during the drop hook. - PR #1201: Add support for naked functions.
- PR #1210: RFC: impl specialization
- PR #1248: Safe intrinsics RFC
- PR #1258: Add macros to get the values of configuration flags
- PR #1303:
Add a
let...elseexpression, similar to Swift'sguard let...else - PR #1305: Abstract output type parameters
- PR #1319: Amend RFC1228 with operator fixity and precedence
- PR #1321: Unstable visibility RFC
- PR #1327: Dropck Eyepatch RFC.
- PR #1331: src/grammar for the canonical grammar of the Rust language
- PR #1346: Unsafe expressions
- PR #1354: RFC: #[cfg(…)] syntax for size and alignment of FFI types
- PR #1358: RFC: Add #[repr(align = "N")]
- PR #1373: Remove some kinds of doc comments
- PR #1379: Change thread local variables to only accept async-signal-safe types.
- PR #1387:
Add a
podlanguage item and marker trait. - FCP PR #1129:
IndexAssign: overloading the
a[b] = cexpression - FCP PR #1196: RFC for allowing eliding more type parameters.
- FCP PR #1296:
RFC: Add an
aliasattribute to #[link] and -l
Implementation phase
- Issue #13231: opt-in built-in bounds traits RFC tracker
- Issue #15552: Implement lifetime elision
- Issue #15701: Add attributes to expressions, etc.
- Issue #16293: Implement UFCS (Tracking RFC 132)
- Issue #17307: Implement associated items
- Issue #18469: Implement revised coercion rules
- Issue #21939: Tracking issue for Finalize defaulted type parameters (RFC 213)
- Issue #22020: Tracking issue for Integer Overflow (RFC 560)
- Issue #22181:
boxandinexpressions (tracking issue for RFC 809) - Issue #23416: Type ascription (tracking issue for RFC 803)
- Issue #24263: discriminant_value intrinsic -- tracking issue for 639
- Issue #27060: repr(packed) allows invalid unaligned loads
- Issue #27336: Tracking Issue for RFC 213: Default Type Parameter Fallback
- FCP PR #27701: Tracking issue for libcore + no_std stabilization
High priority issues
- Issue #25658:
In macros,
$($x:expr),*fragments can be used to bypass future-proofing restrictions - Issue #25860: Implied bounds on nested references + variance = soundness hole
- Issue #26739: In macros, expr followed by { is buggy
- Issue #26775:
extern crateis always treated aspubwithin the crate, but is not visible outside it;pub extern cratemakes no difference - Issue #28450: Type alias can be used to bypass privacy check
- Issue #28514: Private trait's methods reachable through a public supertrait
- Issue #29149: Lifetime bounds in Copy impls are ignored
- Issue #29859: Cyclic traits allow arbitrary traits to be synthesized
Needs decision
- Issue #26502: Do not warn about unused arguments in default methods