# Libs Meeting 2020-12-16/17 ###### tags: `Libs Meetings` `Minutes` **Attendees**: KodrAus, dtolnay, Simon Sapin, sfackler, Mara **Guests:** Ashley, Mark ## Agenda - Rust Foundation - Project group updates - Processes - Anything else? - Triage ## Rust Foundation Q&A with Ashley Williams and Mark Rousskov /!\ Speculative /!\ Where are we up to with the Foundation? - Kicked off planning earlier in 2020 - Forming a 501c6 - Incorporating soon - Processes are on the move! What do we think the Foundation will be up to over the next 12 months? - All hands? - Mentoring programs - Transfering some intrastructure costs to Foundation How much will the Foundation focus on the project vs ecosystem? - Initial support focusing on language and maintainers - Can't talk about supporting Rust without supporting its ecosystem though - Consider direct programs focusing on ecosystem at some time in the future ## Project Groups ### Error Handling ### Portable SIMD ## Processes - Should we do the FCP on tracking issue *before* the stabilization PR, to keep discussion in one place? (E.g. the `reduce()` tracking issue and stabilization PR both discussing the same things.) - Should we close stabilization PRs that come ahead of FCP on tracking issues? - Just label with `S-waiting-on-fcp` and bounce comments - For small library features (which most things in Libs are) discussion on tracking issues is fine - "Experimental" PRs for libs features are treated by triage team like PRs that need merging, not like pieces of experimental - Convert PRs to draft? - Are there labels we could be using more effectively? - Come up with a better way to coordinate experiments with triage team - Meeting conclusions aren't always communicated back. How to avoid that? (E.g. [rfc 2848](https://github.com/rust-lang/rfcs/issues/2848) from a few meetings ago.) - Should we track these issues to follow up separately? - Drop notes on things to reply to in a separate HackMD → New action items document: https://hackmd.io/ovrbJj6CRduRgSA0Wzg2zg - Take an adequately summarized resolution inline - Don't move on until we're satisfied with that summary ## Triage https://triage.rust-lang.org/notifications ### FCPs 13 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">10 <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 80011](https://github.com/rust-lang/rust/issues/80011#issuecomment-744061248)] *Stabilize \`peekable\_next\_if\`* - (4 checkboxes left) - [[close 80007](https://github.com/rust-lang/rust/issues/80007#issuecomment-744084323)] *Add Mutex::arc and RwLock::arc* - (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) - [[merge 80053](https://github.com/rust-lang/rust/issues/80053#issuecomment-746749439)] *stabilise \`cargo test \-\- \-\-include\-ignored\`* - (5 checkboxes left) - [[merge 80085](https://github.com/rust-lang/rust/issues/80085#issuecomment-746805599)] *Stabilize is\_partitioned* - (6 checkboxes left) </details> <p></p> [Amanieu (5)](https://rfcbot.rs/fcp/Amanieu), [BurntSushi (8)](https://rfcbot.rs/fcp/BurntSushi), [KodrAus (6)](https://rfcbot.rs/fcp/KodrAus), [dtolnay (3)](https://rfcbot.rs/fcp/dtolnay), [m-ou-se (1)](https://rfcbot.rs/fcp/m-ou-se), [sfackler (8)](https://rfcbot.rs/fcp/sfackler), [withoutboats (11)](https://rfcbot.rs/fcp/withoutboats) ### Nominated - [1 `rust-lang/rfcs` items](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AT-libs+label%3AI-nominated) - [[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) - [[66481](https://github.com/rust-lang/rust/issues/66481)] *Context and Waker might be accidentally \`Sync\`* To be discussed when boats is here. - [[68490](https://github.com/rust-lang/rust/issues/68490)] *Tracking issue for RFC 2700: numeric constants as associated consts* We concluded last meeting that `i64::max_value()` etc. should be deprecated. But what about `std::i64::MAX` etc.? (Those aren't mentioned in the meeting notes.) → consts too. - [[79434](https://github.com/rust-lang/rust/pull/79434)] *Add some convenience methods for locks.* - [[79849](https://github.com/rust-lang/rust/pull/79849)] *Clarify docs regarding sleep of zero duration* ### Waiting on team - [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. Should be merged? - [[75180](https://github.com/rust-lang/rust/pull/75180)] *Implement Error for &(impl Error)* FCP finished. Should be merged? - [[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 - [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/DV_rzQ6nSNy2OGQC7j0JyA). - [x] Reply to all issues/PRs discussed in this meeting.