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