owned this note
owned this note
Published
Linked with GitHub
# Libs API Meeting 2021-06-02
###### tags: `Libs Meetings` `Minutes`
**Attendees**: bstrie, amanieu, josh, david, jane, the8472, mara
## Agenda
- [Open action items](https://hackmd.io/ovrbJj6CRduRgSA0Wzg2zg)
- Triage
- Nominated RFCs
- Anything else?
## Triage
### FCPs
10 open T-libs FCPs:
<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 81050](https://github.com/rust-lang/rust/issues/81050#issuecomment-765341798)] *Stabilize core::task::ready!* - (0 checkboxes left)
- [[merge 85272](https://github.com/rust-lang/rust/issues/85272#issuecomment-842222445)] *Allow leading pipe in \`matches!()\` patterns.* - (1 checkboxes left)
- [[merge 84111](https://github.com/rust-lang/rust/issues/84111#issuecomment-818005366)] *Stabilize \`impl From<\[(K, V); N\]> for HashMap\` (and friends)* - (1 checkboxes left)
- [[merge 84640](https://github.com/rust-lang/rust/issues/84640#issuecomment-829631948)] *Implement \`TryFrom<char>\` for \`u8\`* - (1 checkboxes left)
- [[merge 80690](https://github.com/rust-lang/rust/issues/80690#issuecomment-846481791)] *Tracking Issue for BufWriter::into\_raw\_parts* - (4 checkboxes left)
- [[merge 79704](https://github.com/rust-lang/rust/issues/79704#issuecomment-846481826)] *Tracking Issue for IntoInnerError::into\_parts etc. (io\_into\_inner\_error\_parts)* - (4 checkboxes left)
- [[merge 75196](https://github.com/rust-lang/rust/issues/75196#issuecomment-847624934)] *Tracking Issue for const \`core::str::from\_utf8\_unchecked\`* - (4 checkboxes left)
- [[merge 85766](https://github.com/rust-lang/rust/issues/85766#issuecomment-849994105)] *Stabilize File::options()* - (3 checkboxes left)
- [[merge 85655](https://github.com/rust-lang/rust/issues/85655#issuecomment-851174984)] *Change \`Ipv6Addr::is\_loopback\` to include IPv4\-mapped loopback addresses* - (5 checkboxes left)
- [[merge 85746](https://github.com/rust-lang/rust/issues/85746#issuecomment-851666903)] *Redefine \`ErrorKind::Other\` and stop using it in std.* - (5 checkboxes left)
</details>
<p></p>
[Amanieu (1)](https://rfcbot.rs/fcp/Amanieu), [BurntSushi (2)](https://rfcbot.rs/fcp/BurntSushi), [dtolnay (3)](https://rfcbot.rs/fcp/dtolnay), [joshtriplett (4)](https://rfcbot.rs/fcp/joshtriplett), [m-ou-se (4)](https://rfcbot.rs/fcp/m-ou-se), [sfackler (6)](https://rfcbot.rs/fcp/sfackler), [yaahc (6)](https://rfcbot.rs/fcp/yaahc)
### Nominated
- [5 `rust-lang/rfcs` items](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AT-libs+label%3AI-nominated)
- [[2677](https://github.com/rust-lang/rfcs/pull/2677)] *Add the Close trait*
- io-specific (with io::Error, etc), or very generic for any failable Drop?
- david: even inside `io::`, errors other than `io::Error` can be useful. E.g. a buffer returning an error containing the remaining unwritten bytes or something.
- would an inherent `File::close()` suffice for the use cases?
- we should ask for examples of why this is needed as a trait. e.g. what people are currently doing because this trait is missing
- Mara: reply to this.
- [[2729](https://github.com/rust-lang/rfcs/pull/2729)] *General floating point formatting in Debug with {:g?}*
- Adding a new `g` flag doesn't seem great.
- However, changing `{:?}` seems reasonable.
- Need to investigate breakage?
- Make sure no precision is lost. Should round-trip with parse().
- Mara/Jane: reply to this.
- [[3057](https://github.com/rust-lang/rfcs/pull/3057)] *Add the boxed!() macro to "de\-magic" box syntax*
- fcp close - blocked on `box` syntax, since its semantics are undecided
- [[3100](https://github.com/rust-lang/rfcs/pull/3100)] *RFC: Add a standard trait for getting many &mut to places*
- Shouldn't be a trait probably. Other `get` methods are not traits either.
- Might be good as inherent methods on array/hashmap/etc.
- Amanieu to reply
- [[3107](https://github.com/rust-lang/rfcs/pull/3107)] *\`#\[derive(Default)\]\` on enums with a \`#\[default\]\` attribute*
- Adding `#[default]` attributes to `derive(Default)` on *struct*s would be backwards-incompatible, since `derive(Default, CustomThing)` already works and CustomThing might already accept `#[default]`. Not a problem for enums.
- There's some ongoing discussion somewhere about namespacing attributes, e.g. `#[std::default]`.
- Bounds? e.g. an Option with a `#[default] None` requiring `T: Default` would be bad.
- Only accept `#[default]` on unit variants? (So, on `None`, but not `Thing(())` or `Some(T)`). Forwards compatible.
- Jane: Ask them if that'd suffice.
- [2 `rust-lang/rust` items](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-libs+label%3AI-nominated)
- [[84838](https://github.com/rust-lang/rust/pull/84838)] *implement \`Default\` for all arrays*
- [[85608](https://github.com/rust-lang/rust/pull/85608)] *Stabilize \`ops::ControlFlow\` (just the type)*
### 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)
- [4 `rust-lang/rust` items](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-libs+label%3AS-waiting-on-team)
- [[76901](https://github.com/rust-lang/rust/pull/76901)] *Implement RFC 2500 Needle API (Part 1)*
- [[79965](https://github.com/rust-lang/rust/pull/79965)] *More ErrorKinds for common errnos*
- [[84770](https://github.com/rust-lang/rust/pull/84770)] *Stabilize Bufwriter::into\_raw\_parts and IntoInnerError::into\_raw\_parts, ::into\_error*
- [[85270](https://github.com/rust-lang/rust/pull/85270)] *When using \`process::Command\` on Windows, environment variable names must be case\-preserving but case\-insensitive*
### Needs decision
- [7 `rust-lang/rust` items](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-libs+label%3AI-needs-decision)
- [[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*
- [[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.*
- [[62726](https://github.com/rust-lang/rust/issues/62726)] *Tracking issue for io\_slice\_advance*
## Actions
- [ ] Reply to all issues/PRs discussed in this meeting, or add them to the [open action items](https://hackmd.io/ovrbJj6CRduRgSA0Wzg2zg).
_Generated by [fully-automatic-rust-libs-team-triage-meeting-agenda-generator](https://github.com/rust-lang/libs-team/tree/main/tools/agenda-generator)_