---
# System prepended metadata

title: Libs Meeting 2020-12-09
tags: [Minutes, Libs Meetings]

---

# Libs Meeting 2020-12-09

###### tags: `Libs Meetings` `Minutes`

**Attendees**: KodrAus, sfackler, yaahc, dtolnay, Mara, Amanieu

## Agenda

- Reviews for wg-allocators (See [this Zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/223182-wg-governance/topic/Approval.20of.20allocators-WGs.20Pull.20Request/near/218832828).)
- 2021 edition plans
    - [HackMD for dropping edition notes](https://hackmd.io/s5t7wkl6QoKwrlim1Hn1Tg)
- Status of no-poison locks (Came up in [PR 79434](https://github.com/rust-lang/rust/pull/79434).)
    - [Waiting on survey blog post](https://github.com/rust-lang/blog.rust-lang.org/pull/708)
    - Probably should be added as `std::mutex::Mutex`, etc as the first stage of `std::sync` reform.
- Libs crate under `rust-lang/`
- Deprecating functions
    - Move to the bottom of the impl block
    - Change docs to explain why it's deprecated/shouldn't be used, instead of explaining how it should be used.
- Next meeting on the 24th? Or skip until Jan?
    - Neither! Next week
- Anything else?
- Triage

## Triage

### FCPs

10 open T-libs FCPs:
<details><summary><a href="https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AT-libs+label%3Aproposed-final-comment-period">3 <code>rust-lang/rfcs</code> FCPs</a></summary>

  - [[close 2944](https://github.com/rust-lang/rfcs/issues/2944#issuecomment-714795934)] *RFC: add the Freeze trait to libcore/libstd* - (3 checkboxes left)
  - [[merge 2580](https://github.com/rust-lang/rfcs/issues/2580#issuecomment-722398370)] *RFC: Pointer metadata &amp; VTable* - (3 checkboxes left)
  - [[close 2708](https://github.com/rust-lang/rfcs/issues/2708#issuecomment-724941427)] *Generic Pointer to Field* - (3 checkboxes left)
</details>
<details><summary><a href="https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-libs+label%3Aproposed-final-comment-period">7 <code>rust-lang/rust</code> FCPs</a></summary>

  - [[merge 70904](https://github.com/rust-lang/rust/issues/70904#issuecomment-635060567)] *Stabilize \`Seek::stream\_length\` and \`Seek::stream\_position\` (feature \`seek\_convenience\`)* - (2 checkboxes left)
  - [[merge 77853](https://github.com/rust-lang/rust/issues/77853#issuecomment-709644329)] *Stabilize slice::strip\_prefix and slice::strip\_suffix* - (5 checkboxes left)
  - [[merge 76505](https://github.com/rust-lang/rust/issues/76505#issuecomment-709588237)] *Stabilize partition\_in\_place* - (2 checkboxes left)
  - [[merge 77858](https://github.com/rust-lang/rust/issues/77858#issuecomment-719487034)] *Stabilize split\_inclusive* - (3 checkboxes left)
  - [[merge 79134](https://github.com/rust-lang/rust/issues/79134#issuecomment-731632271)] *Add \`impl Div&lt;NonZeroU{0}&gt; for u{0}\` which cannot panic* - (3 checkboxes left)
  - [[merge 79285](https://github.com/rust-lang/rust/issues/79285#issuecomment-739437474)] *Stabilize Arc::{incr,decr}\_strong\_count* - (0 checkboxes left)
    Blocked on an open concern.
  - [[merge 79805](https://github.com/rust-lang/rust/issues/79805#issuecomment-740167822)] *Rename Iterator::fold\_first to reduce and stabilize it* - (3 checkboxes left)
</details>
<p></p>

[Amanieu (4)](https://rfcbot.rs/fcp/Amanieu), [BurntSushi (6)](https://rfcbot.rs/fcp/BurntSushi), [KodrAus (2)](https://rfcbot.rs/fcp/KodrAus), [dtolnay (1)](https://rfcbot.rs/fcp/dtolnay), [m-ou-se (0)](https://rfcbot.rs/fcp/m-ou-se), [sfackler (5)](https://rfcbot.rs/fcp/sfackler), [withoutboats (9)](https://rfcbot.rs/fcp/withoutboats)


### Nominated

(Should be discussed in a meeting.)

- [2 `rust-lang/rfcs` items](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AT-libs+label%3AI-nominated)
  - [[2477](https://github.com/rust-lang/rfcs/pull/2477)] *RFC: Add the \`group\_by\` and \`group\_by\_mut\` methods to slice*
    Discussed in the 2020-11-18 meeting, but still requires a response. (And an apology for letting it wait two years? ^^')
    - Responded!
  - [[2979](https://github.com/rust-lang/rfcs/pull/2979)] *\[RFC\]: Libs Team Governance*
- [4 `rust-lang/rust` items](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-libs+label%3AI-nominated)
  - [[63291](https://github.com/rust-lang/rust/issues/63291)] *Tracking issue for uninitialized constructors for Box, Rc, Arc*
      - Arc/Rc APIs seem a bit awkward to work with, but Box impls seem reasonable.
      - Probably move Box constructors to `Box<MaybeUninit<T>>` rather than `Box<T>`.
      - Some kind of builder API might be better for Arc/Rc.
  - [[66481](https://github.com/rust-lang/rust/issues/66481)] *Context and Waker might be accidentally \`Sync\`*
      - Punt until Boats is back.
  - [[68490](https://github.com/rust-lang/rust/issues/68490)] *Tracking issue for RFC 2700: numeric constants as associated consts*
      - Deprecate the "soft-deprecated" method variants
      - Leave the consts modules as-is
  - [[77801](https://github.com/rust-lang/rust/pull/77801)] *Enforce no\-move rule of ReentrantMutex using Pin and fix UB in stdio*
    Backported to two betas, but still needs to be reviewed for nightly.
    - `DerefPin`!
    - Some method resolution / `Deref` coersion for `Pin<Box<T>>`? Makes `Pin` too special?
        - `mypin.method()` where mypin is `Pin<Box<T>>` and method takes `self: Pin<&mut T>`

### Waiting on team

(Requires attention, but doesn't necessarily require discussion in a meeting.)

- [0 `rust-lang/rfcs` items](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AT-libs+label%3AS-waiting-on-team)
- [6 `rust-lang/rust` items](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-libs+label%3AS-waiting-on-team)
  - [[71780](https://github.com/rust-lang/rust/pull/71780)] *Implement String::remove\_matches*
  - [[72981](https://github.com/rust-lang/rust/pull/72981)] *Stabilize the backtrace feature.*
    FCP finished. Just needs merging?
  - [[75180](https://github.com/rust-lang/rust/pull/75180)] *Implement Error for &(impl Error)*
    FCP finished. Just needs merging?
  - [[75490](https://github.com/rust-lang/rust/pull/75490)] *Add \`\[T; N\]::as\_ref\_elements\` and \`\[T; N\]::as\_mut\_elements\`*
  - [[76901](https://github.com/rust-lang/rust/pull/76901)] *Implement RFC 2500 Needle API (Part 1)*
  - [[77326](https://github.com/rust-lang/rust/pull/77326)] *Stabilize \`Option::unwrap\_none\` and \`Option::expect\_none\`*

### Needs decision

(If there's time left.)

- [13 `rust-lang/rust` items](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-libs+label%3AI-needs-decision)
  - [[21319](https://github.com/rust-lang/rust/issues/21319)] *Consider making std::thread::Builder reusable*
  - [[25053](https://github.com/rust-lang/rust/issues/25053)] *UnsafeCell should implement the Copy trait*
  - [[26951](https://github.com/rust-lang/rust/issues/26951)] *Abort on some large allocation requests, Panic on other*
  - [[29494](https://github.com/rust-lang/rust/issues/29494)] *Command does not escape arguments as expected on windows*
  - [[37868](https://github.com/rust-lang/rust/issues/37868)] *std::process::Command's current\_dir behaves differently on Unix and Windows, with respect to relative exe paths*
  - [[39081](https://github.com/rust-lang/rust/issues/39081)] *\`std::env::temp\_dir\` should return env var XDG\_RUNTIME\_DIR under Linux if declared*
  - [[39186](https://github.com/rust-lang/rust/issues/39186)] *Document that std::os::unix::process::CommandExt.uid() triggers setgroups(0,0)*
  - [[42412](https://github.com/rust-lang/rust/issues/42412)] *Incorporate @raphlinus' container cheat sheet into the std::collections module docs*
  - [[42951](https://github.com/rust-lang/rust/issues/42951)] *Spec request. Hasher: is write\_u32 eqivalent to 4 calls of write\_u8?*
  - [[56889](https://github.com/rust-lang/rust/issues/56889)] *Write::write\_all erroring when encountering Ok(0) interacts poorly with the contract of Write::write*
  - [[59878](https://github.com/rust-lang/rust/issues/59878)] *Box\<\[T\]\> should have an IntoIter implementation.*
  - [[60880](https://github.com/rust-lang/rust/issues/60880)] *Should Thumb bugs get increased visibility, e.g. Tier 1 status?*
  - [[79490](https://github.com/rust-lang/rust/issues/79490)] *Whether floating point value Display should adhere to IEEE standard?*


## Actions

- [ ] Finish action items from the [last meeting](https://hackmd.io/VMeCmMpsRRKWlhesUHZTuA?view#Actions).
- [x] Reply to all issues/PRs discussed in this meeting.

