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
180 lines (163 sloc) 8.7 KB

Subteam report: lang 2016-02-12

Highlights

"If you choose not to decide, you still have made a choice." -- Rush

This week we decided to postpone two RFCs that have been lingering in final comment period for some time:

  • RFC #1129, which added a special overload for map[key] = value syntax. There were concerns about the implementation complexity and the general proliferation of ways to insert into maps, particularly if emplacement syntax becomes more mainstream. Hence we decided to postpone until we've had a chance to push harder on emplacement syntax.
  • RFC #1196, which allowed eliding type parameters and which filled in the results with _. Here the concerns were about the interaction with the inference fallbacks that were described in RFC 213 (but never fully implemented). The decision was to postpone the RFC in favor of a broader discussion that tries to capture the full set of constraints.

--nmatsakis

PS. Do not interpret that opening quote as suggesting any sort of endorsement of the band Rush, official or otherwise.

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 #1296: RFC: Add an alias attribute to #[link] and -l
  • 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
  • PR #1492: RFC: .. in patterns
  • PR #1494: Amend RFC 550 with misc. follow set corrections
  • FCP PR #1210: RFC: impl specialization
  • FCP PR #1258: Add macros to get the values of configuration flags
  • FCP PR #1303: Add a let...else expression, similar to Swift's guard let...else

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)
  • Issue #31436: ? operator and catch expressions (RFC 243)
  • 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 #15536: floating point to floating point casts have undefined behaviour
  • 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.