Subteam report: compiler 2016-01-08
Highlights
This week has seen a number of MIR PRs land, including a large overhaul of how calls and panics are handled by Simonas Kazlauskas, a critical bug fix by Michael Woerister, and new and improved MIR dumps in both graphviz and textual format by Scott Olson. Nice work!
These is continued progress towards incremental compilation. In particular, PR #30532 (by yours truly) lays out the infrastructure for tracking dependencies within the compiler.
-- nmatsakis
Dashboard
RFC phase
- PR #1292: i10n
- PR #1317: Changes to the compiler to support IDEs
- PR #1399: RFC: Add #[repr(pack = "N")]
- PR #1414: Add Rvalue-static-promotion RFC
- FCP PR #1361: RFC: Improve Cargo target-specific dependencies
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 #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 #29857: ICE : ty_is_local invoked on unexpected type: [type error]
- Issue #29859: Cyclic traits allow arbitrary traits to be synthesized
- Issue #30123: Regression in type parameter defaults in types and impls
- Issue #30346: Re-add raw_pointer_derive lint as a no-op
- Issue #30379: beta regression matching unit-like structs with ..
- Issue #30438: Segfault in safe code caused by a use after drop when using index sugar
- Issue #30530: Segfault in an unconditional drop call after a match
- Issue #30744: Stable regression in tcod-0.8.0 resolving AsRef
- Issue #30746: improve reporting for future-incompatible lints
Needs decision
- Issue #29769: Mir: introduce overflow operations