---
# System prepended metadata

title: Libs-API Meeting 2021-12-15
tags: [Minutes, Libs Meetings]

---

# Libs-API Meeting 2021-12-15

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

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

## Agenda

- [Open action items](https://hackmd.io/ovrbJj6CRduRgSA0Wzg2zg)
- Triage
- Anything else?
  - Is the `Stalled Tracking Issue` section of the agenda useful?

## Triage

### FCPs

11 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">11 <code>rust-lang/rust</code> FCPs</a></summary>

  - [[merge 84640](https://github.com/rust-lang/rust/issues/84640#issuecomment-829631948)] *Implement \`TryFrom\<char\>\` for \`u8\`* - (0 checkboxes left)
  - [[close 56167](https://github.com/rust-lang/rust/issues/56167#issuecomment-910742041)] *Tracking issue for HashMap::raw\_entry* - (3 checkboxes left)
  - [[merge 89621](https://github.com/rust-lang/rust/issues/89621#issuecomment-939180524)] *doc: guarantee call order for sort\_by\_cached\_key* - (2 checkboxes left)
  - [[merge 89238](https://github.com/rust-lang/rust/issues/89238#issuecomment-927177703)] *deprecate f{32,64}::DIGITS* - (2 checkboxes left)
  - [[merge 86369](https://github.com/rust-lang/rust/issues/86369#issuecomment-934899667)] *Tracking Issue for \`io::Cursor::{remaining\_slice, is\_empty}\`* - (3 checkboxes left)
  - [[merge 87096](https://github.com/rust-lang/rust/issues/87096#issuecomment-950842917)] *Tracking Issue for \`Stdin::lines\`, \`Stdin::split\` forwarder methods* - (3 checkboxes left)
  - [[merge 86845](https://github.com/rust-lang/rust/issues/86845#issuecomment-950843091)] *Tracking Issue for owned locked stdio handles* - (5 checkboxes left)
  - [[merge 86941](https://github.com/rust-lang/rust/issues/86941#issuecomment-951378107)] *Stabilise std::is\_aarch64\_feature\_detected* - (2 checkboxes left)
  - [[merge 90291](https://github.com/rust-lang/rust/issues/90291#issuecomment-955599591)] *Loosen the bound on the Debug implementation of Weak.* - (3 checkboxes left)
  - [[merge 90955](https://github.com/rust-lang/rust/issues/90955#issuecomment-971978699)] *windows: Map \`ERROR\_INVALID\_NAME\` as \`InvalidInput\`* - (2 checkboxes left)
  - [[merge 90666](https://github.com/rust-lang/rust/issues/90666#issuecomment-980456610)] *Stabilize arc\_new\_cyclic* - (3 checkboxes left)
</details>
<p></p>

[dtolnay (3)](https://rfcbot.rs/fcp/dtolnay), [yaahc (3)](https://rfcbot.rs/fcp/yaahc), [BurntSushi (10)](https://rfcbot.rs/fcp/BurntSushi), [m-ou-se (5)](https://rfcbot.rs/fcp/m-ou-se), [Amanieu (1)](https://rfcbot.rs/fcp/Amanieu), [joshtriplett (6)](https://rfcbot.rs/fcp/joshtriplett)

### Nominated

- [2 `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)
  - [[89926](https://github.com/rust-lang/rust/pull/89926)] *make \`Instant::{duration\_since, elapsed, sub}\` saturating and remove workarounds*
    - if we could always enable overflow checks for free, we would do it. but that's not the case here. this would give people a reason to disable overflow checks, even if they don't care about the performance overhead.
    - expose some kind of 'static' that you can set to enable or disable this?
    - another option: not do any panics in debug mode either.
    - panic either means 'you reversed a and b' or 'your hardware is broken', and mixing those is unfortunate.
    - another option: deprecate them with a message to tell the user to use the explicitly saturating/panicking version?
    - another: add a counter instant?
        - Has the same cost with cpu contention.
    - another option: separate flag to enable/disable this?
    - another option: change to always saturating, and then survey/collect input.
      - still leave in the doc comment that says we might still panic at some point in the future.
    - Josh to start Zulip poll
  - [[90904](https://github.com/rust-lang/rust/issues/90904)] `P-high` *Presence of \`std::simd\` sometimes breaks type inference*
    - Amanieu: It might be fine to write .splat() explicitly and not have the problematic impls.
    - Let's not discuss api here.
    - Let's beta-backport it, as there's too much breakage.

### Prioritization Requested

- [1 `rust-lang/rust` `T-libs-api` `I-prioritize` items](https://github.com/rust-lang/rust/issues?q=label:T-libs-api+label:I-prioritize+is:open)
  - [[91869](https://github.com/rust-lang/rust/issues/91869)] *regression: Rc implements RefUnwindSafe*
    - Fine.

### 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)
  - [[88858](https://github.com/rust-lang/rust/pull/88858)] *Allow reverse iteration of lowercase'd/uppercase'd chars*
    - Nothing to discuss. Fcp was already started. Relabeled.

### Needs decision

- [2 `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)
  - [[84083](https://github.com/rust-lang/rust/pull/84083)] *Clarify the guarantees that ThreadId does and doesn't make.*
    - Use case for thread id that stays unique?
      - ThreadBound
    - We could investigate why we need it in the standard library.
    - The current documentation isn't clear, but arguably implies that it's globally unique.
      - David's library makes this assumption for thread-bound data (used for Spans in proc macros).
    - Separately: Guarantee that it's always non-zero.
  - [[89621](https://github.com/rust-lang/rust/pull/89621)] *doc: guarantee call order for sort\_by\_cached\_key*

### 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)
  - [[62370](https://github.com/rust-lang/rust/issues/62370)] *Tracking issue for Box::into\_pin (feature \`box\_into\_pin\`)*
  - [[64888](https://github.com/rust-lang/rust/issues/64888)] *Tracking issue for \`report\-time\`*
  - [[74217](https://github.com/rust-lang/rust/issues/74217)] *Tracking Issue for deque\_range*
  - [[71213](https://github.com/rust-lang/rust/issues/71213)] *Tracking Issue for \`wasi\_ext\`*
  - [[69099](https://github.com/rust-lang/rust/issues/69099)] *Tracking Issue for \`std::cell::{Ref, RefMut}::leak\`*

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

