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
284 lines (264 sloc) 14 KB

Subteam report: lang 2016-04-01

Highlights

Due in part to missing team members, two RFCs that were already in FCP are staying in FCP for another week:

In addition, we reached final decisions on two long-standing FCP RFCs:

We also brought a couple of new RFCs into final comment period, leaving us with the following list for the week:

  • FCP PR #1319: Amend RFC1228 with operator fixity and precedence
  • FCP PR #1373: Remove some kinds of doc comments
    • Proposes deprecating #[doc=""], #![doc=""], /** */, and /*! */.
  • FCP PR #1398: Allocators, take III
    • Proposes a comprehensive API for describing and using allocators, with the intent that types like Vec and HashMap can ultimately support custom allocators.
  • FCP PR #1444: unions
    • Proposes a C-like union keyword in Rust, useful for FFI as well as a few pure-Rust scenarios (like manually-dropped data).
  • FCP PR #1494: Amend RFC 550 with misc. follow set corrections
  • FCP PR #1513: RFC: Stabilize implementing panics as aborts
    • This RFC adds various options to allow the "end crate" (e.g., the application) to specify that panics ought to be compiled as aborts, rather than initiating unwinding. This is useful for applications that would prefer to crash the process, since supporting unwinding causes more code generation and can inhibit some optimizations.
    • The end-user model we are aiming towards with this RFC is that panics mean "abort and let somebody else handle it" -- in the case of unwinding, that "somebody else" may be another thread, but in the case of aborting, that "somebody else" is another process.

Dashboard

High priority issues

  • Issue #25860: Implied bounds on nested references + variance = soundness hole
  • Issue #28514: Private trait's methods reachable through a public subtrait
  • Issue #29149: Lifetime bounds in Copy impls are ignored
  • Issue #29859: Cyclic traits allow arbitrary traits to be synthesized
  • Issue #30127: Desugared x.index(y) is not equivalent to x[y]
  • Issue #31287: Pattern guard can consume value that is being matched
  • Issue #31543: Warn for type parameter defaults on impl blocks

Issues needing a decision

  • Issue #21232: borrow-checker allows partial reinit of struct that has been moved away, but no use of it.
  • Issue #23818: print! macro should flush stdout
  • Issue #30191: Can't provide non-overlapping impls with any type parameters, if a blanket impl exists

RFC phase

  • FCP PR #1319: Amend RFC1228 with operator fixity and precedence
  • FCP PR #1373: Remove some kinds of doc comments
  • FCP PR #1398: Allocators, take III
  • FCP PR #1444: unions
  • FCP PR #1494: Amend RFC 550 with misc. follow set corrections
  • FCP PR #1513: RFC: Stabilize implementing panics as aborts
  • PR #197: ManuallyDrop type gives precise control of dtors of inline data.
  • PR #1062: Constants that depend on type parameters in generic code
  • PR #1148: Mutually exclusive traits
  • PR #1180: Propose Interior<T> data-type, to allow moves out of the dropped value during the drop hook.
  • PR #1248: Safe intrinsics RFC
  • PR #1296: RFC: Add an alias attribute to #[link] and -l
  • PR #1305: Abstract output type parameters
  • PR #1327: Dropck Eyepatch RFC.
  • PR #1358: RFC: Add #[repr(align = "N")]
  • PR #1379: Change thread local variables to only accept async-signal-safe types.
  • PR #1399: RFC: Add #[repr(pack = "N")]
  • PR #1406: Rfc: delegation of implementation
  • PR #1408: Delayed resolution
  • PR #1414: Add Rvalue-static-promotion RFC
  • PR #1426: Placement in/box refinement
  • PR #1429: Feature gate extern fn methods
  • PR #1431: Statically dispatched methods for trait objects with associated data
  • PR #1437: ESC byte escape
  • PR #1440: RFC - Allow Drop types in statics/const functions
  • PR #1449: Add language support for bitfields
  • PR #1450: Types for enum variants
  • PR #1459: Add a used attribute
  • PR #1477: Generic atomic v2
  • PR #1478: translate undefined intrinsics to an unreachable and a lint
  • PR #1492: RFC: .. in patterns
  • PR #1504: Add support for 128-bit integers
  • PR #1506: Clarify the relationships between various kinds of structs and variants
  • PR #1517: RFC: Exclude macros from importing with #[macro_use(not(...))]
  • PR #1521: Copy clone semantics
  • PR #1522: Minimal impl Trait
  • PR #1524: Custom Dynamically Sized Types for Rust
  • PR #1539: Revise type ascription operator to use type equality, not coercion
  • PR #1546: Allow fields in traits that map to lvalues in impl'ing type
  • PR #1548: Add global_asm! for module-level inline assembly
  • PR #1558: RFC: Allow coercing non-capturing closures to function pointers.
  • PR #1559: RFC: Allow all literals in attributes
  • PR #1560: Changes to name resolution
  • PR #1561: Macro naming and modularisation
  • PR #1563: Add #![cfg_assert]
  • PR #1566: Procedural macros

Implementation phase

  • Issue #13231: opt-in built-in bounds traits RFC tracker
  • Issue #18469: Implement revised coercion rules
  • Issue #22181: box and in expressions (tracking issue for RFC 809)
  • Issue #27060: repr(packed) allows invalid unaligned loads
  • Issue #27336: Tracking Issue for RFC 213: Default Type Parameter Fallback
  • Issue #31434: Restrict use of constants in patterns (RFC 1445)
  • Issue #31436: ? operator and catch expressions (RFC 243)
  • Issue #31844: Tracking issue for specialization (RFC 1210)
  • Issue #32409: Tracking issue for pub(restricted) privacy (RFC #1422)

Stabilization phase

You can’t perform that action at this time.