Subteam report: compiler 2015-12-04
Highlights
This week there was a fair amount of triage and discussion of the high priority bugs below.
One issue that was raised, but not firmly settled, was what the policy ought to be towards breaking changes in libsyntax. Clearly there are a number of people "in the wild" who rely on libsyntax, and so some amount of consideration is warranted, and yet just as clearly we need to continue to evolve that crate -- and in some cases dramatically -- as the compiler evolves. It's not clear yet if there is a satisfactory middle-ground.
-- 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 #28325: Rules governing references to private types in public APIs not enforced in impls
- 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 #29793: rustc fails to produce lifetime and closure related compiler error.
- Issue #29859: Cyclic traits allow arbitrary traits to be synthesized
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