---
# System prepended metadata

title: Libs-API Meeting 2022-04-06
tags: [Minutes, Libs Meetings]

---

# Libs-API Meeting 2022-04-06

###### tags: `Libs Meetings` `Minutes`

**Meeting Link**: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr
**Attendees**: Amanieu, David, Josh Triplett, Jane, Mara, The8472, thomcc, Urgau

## Agenda

- Triage
- Anything else?

## Triage

### FCPs

16 open T-libs-api FCPs:
<details><summary><a href="https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-libs-api+label%3Aproposed-final-comment-period">16 <code>rust-lang/rust</code> FCPs</a></summary>

  - [[merge 89238](https://github.com/rust-lang/rust/issues/89238#issuecomment-927177703)] *deprecate f{32,64}::DIGITS* - (1 checkboxes left)
  - [[merge 90291](https://github.com/rust-lang/rust/issues/90291#issuecomment-955599591)] *Loosen the bound on the Debug implementation of Weak.* - (1 checkboxes left)
  - [[merge 91789](https://github.com/rust-lang/rust/issues/91789#issuecomment-1026130086)] *Tracking Issue for try\_reserve method on more containers* - (2 checkboxes left)
  - [[merge 87074](https://github.com/rust-lang/rust/issues/87074#issuecomment-1075152025)] *Tracking Issue for RFC 3128: I/O Safety* - (5 checkboxes left)
  - [[merge 88581](https://github.com/rust-lang/rust/issues/88581#issuecomment-1054642132)] *Tracking Issue for \`int\_roundings\`* - (2 checkboxes left)
  - [[merge 41263](https://github.com/rust-lang/rust/issues/41263#issuecomment-1057368239)] *Tracking issue for \`ToOwned::clone\_into\` (\`toowned\_clone\_into\`)* - (3 checkboxes left)
  - [[merge 89780](https://github.com/rust-lang/rust/issues/89780#issuecomment-1057495167)] *Tracking Issue for poll.ready()?* - (4 checkboxes left)
  - [[merge 94530](https://github.com/rust-lang/rust/issues/94530#issuecomment-1059571324)] *Implement Copy, Clone, PartialEq and Eq for core::fmt::Alignment* - (3 checkboxes left)
  - [[merge 93044](https://github.com/rust-lang/rust/issues/93044#issuecomment-1062941276)] *Add forwarding impls for Read, Write, Seek to Arc, Rc* - (4 checkboxes left)
  - [[merge 94786](https://github.com/rust-lang/rust/issues/94786#issuecomment-1064599953)] *Document NonZeroXxx layout guarantees* - (2 checkboxes left)
  - [[merge 92980](https://github.com/rust-lang/rust/issues/92980#issuecomment-1065659273)] *Tracking Issue for const offset\_from (const\_ptr\_offset\_from)* - (3 checkboxes left)
  - [[merge 71941](https://github.com/rust-lang/rust/issues/71941#issuecomment-1065939514)] *Tracking Issue for \`NonNull\<\[T\]\>::slice\_from\_raw\_parts\`* - (3 checkboxes left)
  - [[merge 94640](https://github.com/rust-lang/rust/issues/94640#issuecomment-1065939867)] *Partially stabilize \`(const\_)slice\_ptr\_len\` feature by stabilizing \`NonNull::len\`* - (3 checkboxes left)
  - [[merge 82223](https://github.com/rust-lang/rust/issues/82223#issuecomment-1065947793)] *Tracking Issue for \`Result::into\_ok\_or\_err\` / \`feature(result\_into\_ok\_or\_err)\`* - (4 checkboxes left)
  - [[merge 94954](https://github.com/rust-lang/rust/issues/94954#issuecomment-1081278617)] *Extend ptr::null and null\_mut to all thin (including extern) types* - (3 checkboxes left)
  - [[merge 93203](https://github.com/rust-lang/rust/issues/93203#issuecomment-1075284811)] *Tracking Issue for scoped threads* - (2 checkboxes left)
</details>
<p></p>

[dtolnay (4)](https://rfcbot.rs/fcp/dtolnay), [yaahc (6)](https://rfcbot.rs/fcp/yaahc), [BurntSushi (14)](https://rfcbot.rs/fcp/BurntSushi), [pnkfelix (1)](https://rfcbot.rs/fcp/pnkfelix), [m-ou-se (4)](https://rfcbot.rs/fcp/m-ou-se), [nikomatsakis (1)](https://rfcbot.rs/fcp/nikomatsakis), [Amanieu (6)](https://rfcbot.rs/fcp/Amanieu), [joshtriplett (9)](https://rfcbot.rs/fcp/joshtriplett)

### Nominated

- [6 `rust-lang/rust` `T-libs-api` `I-libs-api-nominated` items](https://github.com/rust-lang/rust/issues?q=label:T-libs-api+label:I-libs-api-nominated+is:open)
  - [[81061](https://github.com/rust-lang/rust/issues/81061)] *Tracking Issue for cell\_filter\_map*
    - FCP finished. Waiting for stabilization PR. Removed nomination label.
  - [[93709](https://github.com/rust-lang/rust/pull/93709)] *Rename \`first\*\`/\`last\*\` \`BTree{Set,Map}\` methods to \`min\*\`/\`max\*\`*
    - Josh: prefer first/last
    - Jane: prefer min/max. more intuitive for new people
    - There is already a .min() and .max() on BTreeSet since they implement Ord. the PR uses get_min and get_max to work around that, instead of just min and max.
    - Slice/Vec also has first and last. And for binary_search, sort, etc. we all use ascending order by default.
    - Amanieu: prefer keeping existing names.
    - thomcc: we have some api guidelines
    - David: current names are fine. seems natural to think of these as having a 'natural' ascending order. just like sorted slices have this obvious order.
    - Consensus: close it and not rename.
    - Seems ready for FCP afterwards.
  - [[94119](https://github.com/rust-lang/rust/pull/94119)] *Stabilize \`array\_from\_fn\`*
    - We might want to wait with try_from_fn, for the new try trait to get closer to stabilization.
    - Let's split it.
    - About the usize argument: It's easier to ignore an argument than to add this manually. Also it makes it easier for e.g. rayon to add an equivalent method that can work as a drop-in replacement that runs in a different order.
    - We can guarantee the order.
    - Using `impl` in arg position prevents any turbofish at all.
    - Jane: Consistent solution woudl be to stabilize it as `F`, and then fix the turbofish `_` verbosity as a lang feature later.
    - We should move `F` to the end.
    - Josh summarized the asks from the libs team, and will start an FCP when those are done.
  - [[94481](https://github.com/rust-lang/rust/pull/94481)] *Add JoinError that fails Span::join when hygiene is different.*
    - Discussed a few weeks ago: https://hackmd.io/lt-PgRRcRpW3IyzhJyFV9w
    - Assigned to David to respond.
  - [[94488](https://github.com/rust-lang/rust/pull/94488)] *Document that Display entails ToString and should be lossless and infallible*
    - Removed labels.
  - [[95290](https://github.com/rust-lang/rust/pull/95290)] *Document that \`OsString\` and \`OsStr\` are bytes; provide conversions to bytes*
    - Do we do this? Not do this? Or do this, but not guarantee wtf-8?
    - Needs more discussion.

### Waiting on team

- [1 `rust-lang/rust` `T-libs-api` `S-waiting-on-team` items](https://github.com/rust-lang/rust/issues?q=label:T-libs-api+label:S-waiting-on-team+is:open)
  - [[94026](https://github.com/rust-lang/rust/issues/94026)] *\`Hasher::write\` should clarify its "whole unit" behaviour*

### Needs decision

- [1 `rust-lang/rust` `T-libs-api` `I-needs-decision` items](https://github.com/rust-lang/rust/issues?q=label:T-libs-api+label:I-needs-decision+is:open)
  - [[52331](https://github.com/rust-lang/rust/issues/52331)] *Correcting Path::components on Redox*

### Stalled Tracking Issues

- [30 `rust-lang/rust` `T-libs-api` `C-tracking-issue` items](https://github.com/rust-lang/rust/issues?q=label:T-libs-api+label:C-tracking-issue+is:open+sort:updated-asc)
  - [[75638](https://github.com/rust-lang/rust/issues/75638)] *Tracking Issue for Iterator::join*
  - [[67521](https://github.com/rust-lang/rust/issues/67521)] *Tracking issue for const \`alloc::Layout\`*
  - [[61415](https://github.com/rust-lang/rust/issues/61415)] *Use const generics for array impls*
  - [[72505](https://github.com/rust-lang/rust/issues/72505)] *Tracking issue for \`#!\[feature(const\_float\_classify)\]\`*
  - [[71213](https://github.com/rust-lang/rust/issues/71213)] *Tracking Issue for \`wasi\_ext\`*

## 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)_
