T-Lang Meeting: Current meeting
Migrating back from the hackmd

Action item

  • Niko to reach out to wg-grammar around writing up a “what is status” thing
  • scott to post comment on “elide array size” RFC
  • Invite Ryan to present state of safe transmute
  • Niko to follow up with varkor/jonas about MustUse experimentation
  • ecstatic-morse comment on &raw RFC: We want to expose this functionality as a raw_ref macro, at least for the time being.
  • Niko to ask T-libs if they want to be on the RFC for raw_ref and raw_ref_mut
  • or at least on the stabilization decision

Upcoming design meetings

Drew up an April/May meeting schedule:
  • April 27 — Type aliases
  • May 4 — Try blocks, try traits, functions that try, oh my!
  • May 13 — Process, introducing a “stage 0” process a la this blog post
  • maybe a generalization of the MCP RFC
  • May 20 — impl Trait everywhere (nikomatsakis)
  • May 27 — Prioritization / Roadmap followup (tentative)

List of potential topics for future meetings:
  • how to deal with type aliases and bounds
  • Unsafe code guidelines — how to make progress
  • “Copy out of references” — focus on use cases and inter-related problems
  • let foo: &Option<u32>; match foo { Some(x) => bar(x), None => ... }
  • fn bar(x: u32)
  • x has type &u32 which is annoying
  • Are there examples / use cases where the fix is more complex than inserting an & into a pattern?
  • Sync with safe transmute WG

Shepherded item updates

inline assembly (Amanieu, Josh)
  • Blog post is blocked on some bugs, but those bugs are fixed

safe transmute (Ryan, Josh)
  • 2020-04-16: current plans are working towards a “much reduced” proposal:
  • what is the minimal trait (or set of traits) to allow some of this to live in libs
  • still in brainstorming state
  • Repo with marker traits
  • Some set of marker traits (similar to Copy wrt implementations) → enable operations
  • Opt in (for backwards compatibility, in particular around marker traits exposing internal implementation details unintentionally in a semver-breaking way)