Subteam report: lang 2016-02-26
Highlights
We've reached decisions on some longstanding RFCs:
-
FCP PR #1210: RFC: impl specialization
- Accepted, with a detailed summary by @nikomatsakis
-
FCP PR #1303: Add a
let...elseexpression, similar to Swift'sguard let...else- Closed as postponed.
In addition, we've reached some stabilization decisions:
-
FCP PR #28235: Tracking issue for overloaded
+=operators (RFC 953) (feature augmented_assignments)- Stabilize.
-
FCP PR #29720: Tracking issue for
braced_empty_structs(RFC 218)- Stabilize.
We spent the rest of our time making decisions on various outstanding PRs and issues, as per usual.
Next week, we will decide which language features to consider for stabilization in Rust 1.9. Please take a look at the issue tracker for candidates for stabilization, and leave comments on any that you'd like to nominate.
Dashboard
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
implblocks - 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
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
- PR #197:
ManuallyDroptype 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
aliasattribute 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
- PR #1513: RFC: Stabilize implementing panics as aborts
Implementation phase
- Issue #13231: opt-in built-in bounds traits RFC tracker
- Issue #18469: Implement revised coercion rules
- Issue #22181:
boxandinexpressions (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 #28237:
Tracking issue for
...inclusive ranges (RFC #1192) - Issue #31434: Restrict use of constants in patterns (RFC 1445)
- Issue #31436:
?operator andcatchexpressions (RFC 243) - Issue #31844: Tracking issue for specialization (RFC 1210)
Stabilization phase
- 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 #27336: Tracking Issue for RFC 213: Default Type Parameter Fallback
- Issue #27732: Tracking issue for DST coercions (coerce_unsized, unsize) stabilization
- Issue #27751:
Tracking issue for
rawstabilization - Issue #27779: Tracking issue for placement new
- Issue #28235:
Tracking issue for overloaded
+=operators (RFC 953) (feature augmented_assignments) - Issue #28979: Tracking issue for non-ASCII identifiers (feature "non_ascii_idents")
- Issue #29594:
Tracking issue for
thread_localstabilization - Issue #29596:
Tracking issue for
link_argsstabilization - Issue #29597:
Tracking issue for plugin stabilization (
plugin,plugin_registrarfeatures) - Issue #29598:
Tracking issue for
log_syntax,trace_macros - Issue #29599:
Tracking issue for
concat_idents - Issue #29601:
Tracking issue for
quotefeature - Issue #29602:
Tracking issue for
link_llvm_intrinsics - Issue #29603:
Tracking issue for the
linkagefeature - Issue #29625:
Tracking issue for Fn traits (
unboxed_closuresfeature) - Issue #29628:
Tracking issue for
on_unimplementedfeature - Issue #29629:
Tracking issue for
linked_fromfeature - Issue #29633:
Tracking issue for the
startfeature - Issue #29634:
Tracking issue for
mainfeature - Issue #29635:
Tracking issue for
fundamentalfeature - Issue #29638:
Tracking issue for
macro_reexportfeature - Issue #29639:
Tracking issue for
no_corestabilization - Issue #29641:
Tracking issue for
box_patternsfeature - Issue #29642:
Tracking issue for
custom_attribute,rustc_attrsfeatures - Issue #29644:
Tracking issue for
custom_derivefeature - Issue #29646:
Tracking issue for
associated_constsfeature - Issue #29661:
Tracking issue for
associated_type_defaults - Issue #29717:
Tracking issue for
cfg_target_feature - Issue #29718:
Tracking issue for
cfg_target_vendor - Issue #29719:
Tracking issue for
static_recursion - Issue #29720:
Tracking issue for
braced_empty_structs(RFC 218) - Issue #29721:
Tracking issue for
no_debugfeature - Issue #29722:
Tracking issue for
asm(inline assembly) - Issue #29864: Tracking issue for allowing overlapping implementations for marker trait
- Issue #29947:
tracking issue for
const_indexingstabilization - Issue #31844: Tracking issue for specialization (RFC 1210)