Subteam report: compiler 2016-03-11
Highlights
The biggest news is that eddyb has been pushing hard on improving the backend of the compiler lately. PRs #31710 and #32080 have simultaneously cleaned up a lot of the compiler code, closed some long-standing bugs, and pushed MIR almost to the point of viability. For this reason, I am nominating @eddyb for Friend of the Tree this week!
--nmatsakis
Dashboard
RFC phase
- PR #1399: RFC: Add #[repr(pack = "N")]
- PR #1414: Add Rvalue-static-promotion RFC
- PR #1477: Generic atomic v2
- PR #1478: translate undefined intrinsics to an unreachable and a lint
- PR #1510: RFC: Add a new crate-type, rdylib
Implementation phase
- Issue #5016: implement "dynamic drop" semantics using flags on the stack rather than zeroing
- Issue #12634: Replace various intrinsic wrappers with intrinsic reexports
- Issue #15023: Better temporary lifetimes (tracking issue for RFC 66)
- Issue #15287: Implement Pattern Guards with Bind-By-Move
- Issue #20561: Tracking issue for Consistent no-prelude attribute (RFC 501)
- Issue #27060: repr(packed) allows invalid unaligned loads
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 #29149: Lifetime bounds in Copy impls are ignored
- Issue #29859: Cyclic traits allow arbitrary traits to be synthesized
- Issue #30829: Code no longer builds because of RFC 1214
- Issue #31299: Bogus error in beta and nightly: recursive type has infinite size
- Issue #31567:
Dropand leaking&mutreferences - Issue #31804: Rustc does not stop on error.
Needs decision
- Issue #29769: Mir: introduce overflow operations