Subteam report: compiler 2015-11-16
Highlights
The MIR transition has begun! Lately there have been a number of PRs
pushing on converting the trans phase over the compiler over to use
MIR, which is very exciting. If you're interesting in helping out,
please check out the
MIR Tracking Issue #27840,
which contains a lot of links for bite-sized bits of work, as well as
larger design questions that are yet unsettled.
-- nmatsakis
Dashboard
RFC phase
- PR #1246: Compiler UX Guidelines RFC
- PR #1292: i10n
- PR #1317: Changes to the compiler to support IDEs
- PR #1354: RFC: #[cfg(…)] syntax for size and alignment of FFI types
- 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 #26251: match expression falling through?
- Issue #27060: repr(packed) allows invalid unaligned loads
- Issue #28325: Rules governing references to private types in public APIs not enforced in impls
- Issue #28853: #28669 caused regression compiling pinyin crate on nightly
- Issue #29053: Unsoundness in borrowck around deref and mutable refs
- Issue #29149: Lifetime bounds in Copy impls are ignored
- Issue #29466: Stack overflow when compiling lots of macros
- Issue #29485:
Unwinding through
fn()references across crates causes the behavior to depend on the optimization level - Issue #29723: Variables moved from in match guards are still accessible in other match arms.
- Issue #29793: rustc fails to produce lifetime and closure related compiler error.
- Issue #29859: Cyclic traits allow arbitrary traits to be synthesized
- Issue #29861: Unconstrained lifetimes permitted in assoc. type as long as they are in a projection
Needs decision
- Issue #29573: Mir: remove Panic terminator and instead just call suitable lang item
- Issue #29767: Mir: Refactor calls to permit calls that cannot panic and to better accommodate calls that always panic
- Issue #29769: Mir: introduce overflow operations