# 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 & 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<NonZeroU{0}> 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.