Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
100 lines (83 sloc) 4.5 KB

Subteam report: lang 2015-06-16

Dashboard

Last week, we had five RFCs in the final comment period. Of those, two of them failed to reach consensus one way or the other. For these, it would be great to have more comments from the community:

  • FCP PR #756: Allow closure expressions to expand to a & or &mut temporary. The discussion here has centered on whether making it easier to write fns that accept closure objects as arguments is worth making the expansion of || more complex.
  • FCP PR #873: Allow macros in types. The discussion here has centered on possible interactions with hygiene and the question of whether expanding the current macro system will make it harder to implement fundamental improvements down the line.

RFC 1156 proposes a change to the defaults for object lifetime bounds that aims to make them easier to understand and more useful in practice. Based on discussion last week, RFC 1156 underwent some evolution. It now proposes a phased deprecation, in which Rust 1.2 issues a warning if it detects code that is relying on the current defaults, and Rust 1.3 actually makes the change. We've decided to accept this specific RFC. However, the RFC raises more general policy questions about when such changes might be accepted in the future, and this conversation will continue in an internals post (currently being written).

We also decided to accept two smaller RFCs:

  • FCP PR #1052: Clarify cast rules, especially regarding fat pointers.
  • FCP PR #865: Update RFC 195 to account for RFC 246.

Due to the fact that there are two RFCs still in FCP from last week, no new RFCs are entering final comment period ths week.

--- nmatsakis

RFC phase

  • PR #197: ManuallyDrop type 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 #890: RFC: Custom preludes
  • PR #953: overloaded assignment operations a += b
  • PR #1062: Constants that depend on type parameters in generic code
  • PR #1129: IndexAssign: overloading the a[b] = c expression
  • PR #1135: Implement raw fat pointer comparisons
  • PR #1148: Mutually exclusive traits
  • PR #1150: RFC: rename attribute
  • PR #1154: Disjoins (anonymous enums)
  • FCP PR #756: Allow closure expressions to expand to a & or &mut temporary
  • FCP PR #865: Update RFC 195 to account for RFC 246.
  • FCP PR #873: Allow macros in types
  • FCP PR #1052: Clarify cast rules, especially regarding fat pointers.
  • FCP PR #1156: Adjust default object bounds [breaking change]

Implementation phase

High priority issues

  • Issue #24622: Mismatched assumptions for interaction between associated type and lifetime in trait
  • Issue #25310: Passing a Fn to an fn now requires explicit lifetimes for the Fn and all references passed to it when invoked
  • 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 #26279: nightly rustc breaks stable code for some type inferences

Needs decision

You can’t perform that action at this time.