---
# System prepended metadata

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

---

# Libs-API Meeting 2022-06-29

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

**Meeting Link**: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr
**Attendees**: Amanieu, David, Josh Triplett, Mara, Chris Denton, Dan Gohman, The 8472, J Haigh, vincenzopalazzo, Urgau

## Agenda

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

## Triage

### FCPs

16 rust-lang/rust T-libs-api FCPs

  - merge rust.tf/89238 *deprecate f{32,64}::DIGITS* - (1 checkboxes left)
  - merge rust.tf/90291 *Loosen the bound on the Debug implementation of Weak.* - (1 checkboxes left)
  - merge rust.tf/89780 *Tracking Issue for poll.ready()?* - (4 checkboxes left)
  - merge rust.tf/94786 *Document NonZeroXxx layout guarantees* - (2 checkboxes left)
  - merge rust.tf/88581 *Tracking Issue for \`int\_roundings\`* - (1 checkboxes left)
  - merge rust.tf/80437 *Tracking Issue for \`box\_into\_inner\`* - (2 checkboxes left)
  - merge rust.tf/91946 *Tracking Issue for \`io::Error::other\`* - (4 checkboxes left)
    - We could check how common this operation is.
    - This would accept string literals, resulting in a triple-box :(
  - merge rust.tf/72302 *Tracking Issue for feature \`future\_poll\_fn\`* - (4 checkboxes left)
  - merge rust.tf/97373 *impl DispatchFromDyn for Cell and UnsafeCell* - (3 checkboxes left)
  - merge rust.tf/98314 *Tracking Issue for feature(core\_c\_str) and feature(alloc\_c\_string)* - (3 checkboxes left)
  - merge rust.tf/95965 *Stabilize const\-weak\-new* - (3 checkboxes left)
  - merge rust.tf/97522 *Partially stabilize const\_slice\_from\_raw\_parts* - (3 checkboxes left)
  - merge rust.tf/95295 *Enforce that layout size fits in isize in Layout* - (4 checkboxes left)
  - merge rust.tf/98368 *Make \`std::os::fd\` public.* - (4 checkboxes left)
  - merge rust.tf/98345 *stabilise mixed\_integer\_ops* - (4 checkboxes left)
  - merge rust.tf/78802 *Implement network primitives with ideal Rust layout, not C system layout* - (3 checkboxes left)
    - all crates have been updated, but using old crates would have UB, silently.
    - Release notes might be enough.

[Amanieu (2)](https://rfcbot.rs/fcp/Amanieu), [m-ou-se (9)](https://rfcbot.rs/fcp/m-ou-se), [dtolnay (7)](https://rfcbot.rs/fcp/dtolnay), [yaahc (11)](https://rfcbot.rs/fcp/yaahc), [joshtriplett (3)](https://rfcbot.rs/fcp/joshtriplett), [BurntSushi (14)](https://rfcbot.rs/fcp/BurntSushi)

### Nominated

- [6 `rust-lang/rust` `I-libs-api-nominated` items](https://github.com/rust-lang/rust/issues?q=label:I-libs-api-nominated+is:open)
  - rust.tf/64797 *Tracking issue for RFC 2523, \`#\[cfg(accessible(::path::to::thing))\]\`*
    - Mara: concerned about this being used for unexpected use cases
    - Probably not worth blocking.
    - Mara: It might lead to people encoding assumptions about _future_ stabilizations into their code.
    - We can warn in documention.
    - Could be stabilized together with cfg-version.
  - rust.tf/89780 *Tracking Issue for poll.ready()?*
    - `ready!()` can be unblocked. (Not in prelude.)
  - rust.tf/93050 *Tracking Issue for Option::is\_some\_and and Result::is\_{ok,err}\_and*
  - rust.tf/95290 *Document that \`OsString\` and \`OsStr\` are bytes; provide conversions to bytes*
  - rust.tf/98445 *\[Experiment\] \[WIP\] Add clone\_from to clone derive*
    - Performance is pretty bad, so we might not do it regardless.
    - Breaking change, from a panic safety perspective.
    - Josh: Might be an acceptable breaking change?
    - Mara: Sounds too dangerous.
    - Josh: We could use cfg(panic) to only impl clone_from for panic=abort, where it'd be safe.
    - David: panic=abort is often used for code size, so this might make things worse in that case.
  - rust.tf/98655 *Don't derive \`PartialEq::ne\`.*
    - Mara: Maybe this should only happen for things that are Eq, not just PartialEq?
      - NaN issue is only for PartialCmp. PartialEq's `ne` and `eq` are consistent.
    - Mara: If `ne` should always be the inverse of `eq`, why even allow implementing `ne`? If we agree that they should be each others inverse, should we warn/lint when people override `ne`? Deprecate it?
    - We can check how often people implement `ne`  on crates.io.
- [1 `rust-lang/rfcs` `I-libs-api-nominated` items](https://github.com/rust-lang/rfcs/issues?q=label:I-libs-api-nominated+is:open)
  - rust.tf/rfc3127 *New rustc and Cargo options to allow path sanitisation by default*

### 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)
  - rust.tf/98174 *Rename \`\<\*{mut,const} T\>::as\_{const,mut}\` to \`cast\_\`*

### 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)
  - rust.tf/55132 *Tracking issue for thread::Builder::spawn\_unchecked*
  - rust.tf/41758 *Tracking issue for Vec::resize\_with and resize\_default*
    FCP finished. Should be merged?
  - rust.tf/66893 *Tracking issue for atomic\_mut\_ptr*
  - rust.tf/71503 *Tracking Issue for binary heap retain*
  - rust.tf/72505 *Tracking issue for \`#!\[feature(const\_float\_classify)\]\`*

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