# 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.