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
168 lines (153 sloc) 8.03 KB

Subteam report: lang 2016-02-05

Highlights

This week two RFCs were approved:

  • RFC #243, which adds the ? suffix operator as a synonym for today's try! macro, and adds another construct catch { } that can be used to delimit the scope of the ? operator. That is, whereas try! today always propagates errors out of the current function, the catch {} block allows the scope of the error to be restricted to something smaller.
  • RFC #1445, which restricts the uses of constants of user-defined type in patterns to those types which are annotated with #[derive(Eq)]. The semantics of constants in patterns was never formally settled; this change adopts a common subset that everyone can agree on for the time being. The change has been tested using crater and was found to cause 6 regressions among the tested crates.

--nmatsakis

Dashboard

RFC phase

  • 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 #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 #1248: Safe intrinsics RFC
  • PR #1258: Add macros to get the values of configuration flags
  • PR #1296: RFC: Add an alias attribute to #[link] and -l
  • PR #1303: Add a let...else expression, similar to Swift's guard 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 #1346: Unsafe expressions
  • 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 #1398: Allocators, take III
  • 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 #1422: pub(restricted) item
  • 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 #1444: RFC: native C-compatible unions via built-in syntax macro union!
  • 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
  • FCP PR #243: Trait-based exception handling
  • FCP PR #1129: IndexAssign: overloading the a[b] = c expression
  • FCP PR #1196: RFC for allowing eliding more type parameters.
  • FCP PR #1210: RFC: impl specialization

Implementation phase

  • Issue #13231: opt-in built-in bounds traits RFC tracker
  • Issue #15552: Implement lifetime elision
  • 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: box and in expressions (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
  • Issue #31434: Restrict use of constants in patterns (RFC 1445)
  • FCP PR #28235: Tracking issue for overloaded += operators (RFC 953) (feature augmented_assignments)
  • FCP PR #29720: Tracking issue for braced_empty_structs (RFC 218)

High priority issues

  • Issue #22889: Duplicate inherent static methods can be defined in separate impl blocks
  • Issue #25860: Implied bounds on nested references + variance = soundness hole
  • Issue #26775: extern crate is always treated as pub within the crate, but is not visible outside it; pub extern crate makes no difference
  • 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]

Needs 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
You can’t perform that action at this time.