Skip to content

Latest commit

 

History

History
224 lines (138 loc) · 9.52 KB

2020-01-02.md

File metadata and controls

224 lines (138 loc) · 9.52 KB

Lang Team Triage Meeting Minutes

Action items

  • propose case-by-case uplift for clippy lints (scottmcm) & cancel FCP

  • niko to post summary comment on turbofish RFC and postpone

    • update: thought about it, didn't act yet because pondering
  • mem::zeroed/uninit: panic on types that do not permit zero-initialization #66059

    • Centril to write a comment

Design meeting topics

Scheduler

  • Jan 6 -- Pin and rogue DerefMut impls #66544 (proposed)

Urgent-ish

  • ffi-unwind and the "C" ABI (proposed)

  • dyn Trait + coherence interaction #57893

  • stacked borrows overview + &self in AtomicUsize + maybe the embedded interactions (proposed)

Speculative

  • roadmap + next edition (proposed)

    • see also this list which only Niko filled out :)
  • unsafe code and &raw in next edition (proposed)

Shepherded item updates

inline assembly (Amanieu, Josh)

  • no update

safe transmute (Ryan, Josh)

const evaluation (ecstatic-morse)

  • &mut ref types and borrows are on nightly but no RFC -- need one?
    • Let's have an RFC.
  • We should think more about our story for recursion limits?
    • could lift the standard recursion limit for now
    • but what about loop { .. }
      • currently: we have a step counter that overflows at some point (counts terminators)
      • tied to an unstable attribute right now
  • Erroneous constants & what counts as dead code? (see discussion below).

ffi-unwind (BatmanAod)

  • preparing blog post, have to schedule a meeting

"dyn Trait" stuff (nikomatsakis)

grammar (qmx)

  • no update

never_type (!) stabilization (nikomatsakis)

  • no update

or-patterns

bindings after at

Shepherding proposals

None this week

Triage

  • Stabilize #![feature(slice_patterns)] in 1.42.0 -- #67712

    • check your boxes :)
  • Treat extern statics just like statics in the "const pointer to static" representation #67630

    • Felix can ask about triggering (new?) UB in user code and whatnot.
  • WIP: no longer promote non-pattern const functions #67531

    • Decided to r+
  • Expr walking structural match (reopened) #67088

    • MIR version: rust-lang/rust#67343 (WIP)
    • short version:
      • trying to add a refinement to the type-based check, too conservative, was breaking existing use cases
        • alternative: value-based check looking to include things like None::<IllegalType>
        • some questions arise around const fn calls and a few other cases, and of course const generics
        • related:
          • [None::<String>; 22]
          • static initializers
        • const initializers
      • there are two "competing" PRs right now, one based on HIR (maybe HAIR) and one based on MIR
  • mem::zeroed/uninit: panic on types that do not permit zero-initialization #66059

    • no updates since last meeting
    • TL;DR of what we said before
      • Centril thinks it would be good to have the full plan as "prose" and FCP that one so we don't have to re-FCP every step.
    • Update: crater regressions categorized
    • Who will follow up with Ralf? Maybe centril?
    • To land this PR we need: (Centril to leave comment)
      • Preliminary write-up of the rules around which types permit zero-initialization
      • Something we can point to to help people understand when mem::zeroed and mem::uninitialized will panic
      • (To what extent was this covered in an RFC? Maybe only "suggested"? "Inspired by?")

Future meeting proposals

  • dereference with ralfjung / compiler’s llvm-wg / ucg wg?