---
# System prepended metadata

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

---

# Libs-API Meeting 2022-02-02

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

**Meeting Link**: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr
**Attendees**: Jane, Josh, David, Mara, Mark, The 8472

## Agenda

- [Open action items](https://hackmd.io/ovrbJj6CRduRgSA0Wzg2zg)
- Triage
- Anything else?

## Triage

### FCPs

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

  - [[merge 3192](https://github.com/rust-lang/rfcs/issues/3192#issuecomment-1015775980)] *Add provide\_any module to core* - (4 checkboxes left)
</details>
<details><summary><a href="https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-libs-api+label%3Aproposed-final-comment-period">7 <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 86845](https://github.com/rust-lang/rust/issues/86845#issuecomment-950843091)] *Tracking Issue for owned locked stdio handles* - (4 checkboxes left)
  - [[merge 90291](https://github.com/rust-lang/rust/issues/90291#issuecomment-955599591)] *Loosen the bound on the Debug implementation of Weak.* - (2 checkboxes left)
  - [[merge 80697](https://github.com/rust-lang/rust/issues/80697#issuecomment-1022585839)] *Tracking Issue for const\_intrinsic\_copy* - (1 checkboxes left)
  - [[merge 92663](https://github.com/rust-lang/rust/issues/92663#issuecomment-1023878238)] *Implement \`Write for Cursor\<\[u8; N\]\>\`, plus \`A: Allocator\` cursor support* - (3 checkboxes left)
  - [[merge 93263](https://github.com/rust-lang/rust/issues/93263#issuecomment-1023928386)] *Consistently present absent stdio handles on Windows as NULL handles.* - (4 checkboxes left)
  - [[merge 91789](https://github.com/rust-lang/rust/issues/91789#issuecomment-1026130086)] *Tracking Issue for try\_reserve method on more containers* - (5 checkboxes left)
</details>
<p></p>

[Amanieu (2)](https://rfcbot.rs/fcp/Amanieu), [BurntSushi (8)](https://rfcbot.rs/fcp/BurntSushi), [yaahc (3)](https://rfcbot.rs/fcp/yaahc), [joshtriplett (4)](https://rfcbot.rs/fcp/joshtriplett), [dtolnay (3)](https://rfcbot.rs/fcp/dtolnay), [m-ou-se (4)](https://rfcbot.rs/fcp/m-ou-se)

    
### Critical

- [1 `rust-lang/rust` `T-libs-api` `P-critical` items](https://github.com/rust-lang/rust/issues?q=label:T-libs-api+label:P-critical+is:open)
  - [[93378](https://github.com/rust-lang/rust/issues/93378)] `P-critical` *Named format arguments introduce implicit positional arguments*
    - Backport the fix? Seems good.
    - Backport to stable? Probably not worth it. Not worth the effort on our side, but also not on the side of the users who will have to upgrade to a new point release.

### Nominated

- [5 `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)
  - [[43301](https://github.com/rust-lang/rust/issues/43301)] *Tracking issue for RFC 1937: \`?\` in \`main\`*
    - Termination trait stabilization update
    - Naming discussion (leaning towards keeping existing name rather than bikeshedding further)
    - Target portability discussion
        Leaning towards just supporting u8, and maybe having target-specific methods for other things
    - Proposal: Jane to write PR for `ExitCode::from(some_u8)` and changing `Termination` to use `ExitCode`; we can r+ that and then FCP the stabilization of `Termination`.
  - [[91589](https://github.com/rust-lang/rust/pull/91589)] *impl \`Arc::unwrap\_or\_clone\`*
    - Might be interesting to have a more generic `unwrap_or`.
    - Implementation could be more efficient.
  - [[92472](https://github.com/rust-lang/rust/pull/92472)] *\[experiment\] proc\-macro: Stop wrapping \`ident\` matchers into groups*
    - Remove the invisible fake delimiters (`Delimiter::None`) around identifiers. (They're necessary for expressions etc., but not identifiers.)
    - We could always include those invisible delimiters if necessary for multi-token identifiers, if we have those in the future
    - FCP with both teams?
    - A future change could maybe do this for literally all none-delimited groups with just one token. But let's keep the scope small for now.
  - [[93397](https://github.com/rust-lang/rust/pull/93397)] *Add \`\[f32\]::sort\_floats\` and \`\[f64\]::sort\_floats\`*
    - Discussion on zulip.
      - Call it just `.sort()` or `.sort_float()` or ..?
    - How common is it to just sort floats, rather than some float property/field of some struct?
      - E.g. statistics. Sorting measurements.
    - Alternative is a diagnostic that suggests `.sort_by(...)` when doing `.sort()` on floats.
    - Return the subslice of the non-NaNs?
    - No consensus now.
  - [[93563](https://github.com/rust-lang/rust/pull/93563)] *Merge crossbeam\-channel into \`std::sync::mpsc\`*
    - Doesn't change the public API. Fixes a bug by replacing the implementation.
    - Josh: Prefer deprecating mpsc, since there's a lot of features that can be added (mpmc, and async sender/receiver support), that we can better leave to the crate ecosystem.
    - Jane: Pushing people towards external crates is good, but also a pain point. If we do that, then we should talk about how to guide people to those crates.
        - Mark: +1
        - Josh: +1
    - Mara: Deprecate it, but still accept this to fix the bug?
        - Josh: +1
    - Mara: This PR doesn't look too complicated, and not too hard to maintain, at first sight.
    - Maybe a fuller-featured thing can be an official rust-lang crate
    - (Getting a bit off-topic:)
    - Maybe we can have some semi-official recommendations for community crates.
    - Maybe crates.io can allow labeling crates as 'just an experiment' or 'committed for at least a year' etc.

### Waiting on team

- [2 `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)
  - [[81642](https://github.com/rust-lang/rust/pull/81642)] *Automatically implement AsRepr and allow deriving FromRepr for fieldless enums*
    - Waiting on another team.
  - [[91546](https://github.com/rust-lang/rust/pull/91546)] *Implement additional \`split\_inclusive\` variants for slices*
    - Are all of them useful, or is this just overgeneralizing?
    - Let's repeat what BurntSushi already said on Zulip: We care more about actual use cases, rather than filling out the full matrix.
    - Maybe we can add some .next_including_..() next to .next(), to add this flexibility without adding so many types and methods.

### Needs decision

None

### 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)
  - [[72505](https://github.com/rust-lang/rust/issues/72505)] *Tracking issue for \`#!\[feature(const\_float\_classify)\]\`*
  - [[26350](https://github.com/rust-lang/rust/issues/26350)] *Clarify story on libm bindings*
  - [[29553](https://github.com/rust-lang/rust/issues/29553)] *Tracking issue for #\[bench\] and benchmarking support*
  - [[41263](https://github.com/rust-lang/rust/issues/41263)] *Tracking issue for \`ToOwned::clone\_into\` (\`toowned\_clone\_into\`)*
  - [[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)_
