Subteam report: compiler 2016-02-05
Highlights
Panic handling in Windows has been undergoing serious improvement
lately. Alex Crichton landed
PR #30448, which
enables support for Structured Exception Handling (SEH) on MSVC
targets. PR #31313
(still pending) will transition the pc-windows-gnu target as well.
On a less jolly note, two regressions in compiler performance were recently reported. One has a fix pending, the other is still under investigation:
- #31157, which concerned complex uses of traits where we were doing less caching than before (fixed by PR #31349).
- We recently noticed a large drop in bootstrap time connected to a recent LLVM update. Investigation ongoing.
-- 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
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 #22889:
Duplicate inherent static methods can be defined in separate
implblocks - Issue #29149: Lifetime bounds in Copy impls are ignored
- Issue #29485:
Unwinding through
fn()references across crates causes the behavior to depend on the optimization level - Issue #29859: Cyclic traits allow arbitrary traits to be synthesized
- Issue #30438: Segfault in safe code caused by a use after drop when using index sugar
- Issue #30829: Code no longer builds because of RFC 1214
- Issue #31157: Massive compiler perf regression
- Issue #31299: Bogus error in beta and nightly: recursive type has infinite size
Needs decision
- Issue #29769: Mir: introduce overflow operations