Subteam report: lang 2015-08-14
Highlights
The following RFCs were promoted to final comment period:
- RFC #1229, which specifies that when the compiler is doing constant evaluation as a form of optimization, it should not report compilation errors for overflows or other problems that are encountered (warnings are ok). Otherwise, improvements in the constant evaluator can become breaking changes.
- RFC #1234, which
modifies the DST coercion rules to permit
PhantomData. The discussion has primarily focused on whether we can indeed make the rules even more accepting than that; conclusion was to leave this for future work.
Full list of T-lang RFCs in FCP.
Some fine fellow (ahem) also started a scintillating discussion on the interaction of type parameter fallback with integral fallback started on internals, which would benefit from more eyeballs:
Last week, we had a number of RFCs enter FCP. Unfortunately, we did not reach final decisions on very many of them, due to Felix Klock being out for some well-earned R&R. However, we did merge a few noncontroversial items:
We also decided to close several RFCs for prioritization reasons, even if the ideas espoused had merit:
- RFC 886, allowing "must use" on functions (by @huonw).
- RFC 890, custom preludes (by @aturon).
- RFC 1216, promote
!to a type (by @canndrew).
Dashboard
RFC phase
- PR #197:
ManuallyDroptype gives precise control of dtors of inline data. - PR #243: Trait-based exception handling
- PR #638: Specify unwinding
- PR #733: Amend macro future proofing RFC
- PR #1062: Constants that depend on type parameters in generic code
- PR #1129:
IndexAssign: overloading the
a[b] = cexpression - PR #1148: Mutually exclusive traits
- PR #1168:
Make
sizean associated constant - 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 #1190: Style: function declarations
- PR #1196: RFC for allowing eliding more type parameters.
- PR #1199: SIMD groundwork
- PR #1210: RFC: impl specialization
- PR #1224: Update the RFC process with sub-teams, amongst other things.
- PR #1228:
Place left arrow syntax (
place <- expr) - PR #1229: turn statically known erroneous code into a warning and continue normal code-generation
- PR #1234: specify that CoerceUnsized should ignore PhantomData fields
- PR #1237: clarify extreme operator behaviour
- PR #1238: Nonparametric dropck
- PR #1240:
References into repr(packed) structs should be
unsafe. - PR #1245: Amend #911 const-fn to allow unsafe const functions
- PR #1248: Safe intrinsics RFC
- FCP PR #886:
Allow
#[must_use]on functions, rather than just types. MarkResult::{ok,err}#[must_use]. - FCP PR #890: RFC: Custom preludes
- FCP PR #953:
overloaded assignment operations
a += b - FCP PR #1135: Implement raw fat pointer comparisons
- FCP PR #1189: 0401: misc improvements
- FCP PR #1192: RFC for inclusive ranges with ...
- FCP PR #1209:
Update FOLLOW set for
tytokens
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 #24111: const fn tracking issue (RFC 911)
- Issue #24263: discriminant_value intrinsic -- tracking issue for 639
- Issue #24266: Empty struct with braces tracking issue (RFC 218)
- Issue #26438: Tracking issue for Adjust default object bounds (RFC 1156)
- Issue #27336: Tracking Issue for RFC 213: Default Type Parameter Fallback
High priority issues
- Issue #24622: Mismatched assumptions for interaction between associated type and lifetime in trait
- 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 #26438: Tracking issue for Adjust default object bounds (RFC 1156)
- Issue #26739: In macros, expr followed by { is buggy
- Issue #26775: 'pub extern crate' is accepted and behaves badly
- Issue #26813: Regression on beta for trait bounds on supertrait's associated items
- Issue #27060: repr(packed) allows invalid unaligned loads
Needs decision
- Issue #27499:
Use different numbers of
#s when expanding documentation comments