---
# System prepended metadata

title: Libs-API Meeting 2024-09-17
tags: [Minutes, Libs Meetings]

---

# Libs-API Meeting 2024-09-17

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

**Meeting Link**: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr
**Attendees**: Amanieu, David, Mara, The 8472, Chris Denton, Jubilee, Urgau, theemathas

## Agenda

- Triage
- Anything else?

## Triage

### FCPs

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

  - merge rust.tf/80437 *Tracking Issue for \`box\_into\_inner\`* - (1 checkboxes left)
  - merge rust.tf/106418 *Implement \`PartialOrd\` and \`Ord\` for \`Discriminant\`* - (2 checkboxes left)
  - merge rust.tf/123723 *Make \`std::os::darwin\` public* - (3 checkboxes left)
  - merge rust.tf/86918 *Tracking Issue for \`pin\_deref\_mut\`* - (3 checkboxes left)
  - merge rust.tf/120141 *Tracking Issue for enum access in offset\_of* - (6 checkboxes left)
  - merge rust.tf/129238 *Stabilize \`Ipv6Addr::is\_unique\_local\` and \`Ipv6Addr::is\_unicast\_link\_local\`* - (3 checkboxes left)
  - merge rust.tf/130086 *Tracking Issue for const\_str\_as\_mut* - (3 checkboxes left)
  - merge rust.tf/111735 *Tracking Issue for \`BufRead::skip\_until\`* - (3 checkboxes left)
  - merge rust.tf/130350 *stabilize Strict Provenance and Exposed Provenance APIs* - (4 checkboxes left)
  - merge rust.tf/86302 *Tracking Issue for const\_ptr\_write* - (4 checkboxes left)
  - merge rust.tf/111774 *Tracking Issue for \`slice\_first\_last\_chunk\` feature (\`slice::{split\_,}{first,last}\_chunk{,\_mut}\`)* - (3 checkboxes left)
  - merge rust.tf/111645 *Tracking Issue for \`UnsafeCell::from\_mut\`* - (3 checkboxes left)
  - merge rust.tf/83570 *Tracking Issue for \`#!\[feature(const\_slice\_first\_last)\]\`* - (3 checkboxes left)
  - merge rust.tf/101804 *Tracking Issue for \`feature(const\_slice\_split\_at\_mut)\`* - (3 checkboxes left)
  - merge rust.tf/83164 *Tracking Issue for const\_replace* - (4 checkboxes left)
  - merge rust.tf/91822 *Tracking Issue for \`const\_ptr\_as\_ref\`* - (3 checkboxes left)
  - merge rust.tf/72440 *Tracking Issue for constify\-ing non\-trait \`Duration\` methods* - (3 checkboxes left)
  - merge rust.tf/130191 *\[discussion\] \`ErrorKind::CrossesDevices\` from \`io\_error\_more\`* - (4 checkboxes left)
  - merge rust.tf/130190 *\[discussion\] \`ErrorKind::FilesystemQuotaExceeded\` from \`io\_error\_more\`* - (4 checkboxes left)
  - merge rust.tf/72505 *Tracking issue for \`#!\[feature(const\_float\_classify)\]\`* - (3 checkboxes left)

[tmandry (1)](https://rfcbot.rs/fcp/tmandry), [scottmcm (2)](https://rfcbot.rs/fcp/scottmcm), [m-ou-se (17)](https://rfcbot.rs/fcp/m-ou-se), [Amanieu (16)](https://rfcbot.rs/fcp/Amanieu), [dtolnay (1)](https://rfcbot.rs/fcp/dtolnay), [pnkfelix (1)](https://rfcbot.rs/fcp/pnkfelix), [BurntSushi (7)](https://rfcbot.rs/fcp/BurntSushi), [nikomatsakis (2)](https://rfcbot.rs/fcp/nikomatsakis), [joshtriplett (18)](https://rfcbot.rs/fcp/joshtriplett)

### (nominated) rust.tf/75251 *Tracking Issue for const MaybeUninit::as(\_mut)\_ptr (feature: const\_maybe\_uninit\_as\_ptr)*

FCP finished. Should be merged?

Previous FCP still applies, okay to stabilize

### (nominated) rust.tf/130188 *\[discussion\] \`ErrorKind::FilesystemLoop\` from \`io\_error\_more\`*

The 8472: [epoll_ctl](https://man7.org/linux/man-pages/man2/epoll_ctl.2.html#ERRORS) says 

```
       ELOOP  fd refers to an epoll instance and this EPOLL_CTL_ADD
              operation would result in a circular loop of epoll
              instances monitoring one another or a nesting depth of
              epoll instances greater than 5.
```

Mara: ERROR_CANT_RESOLVE_FILENAME on Windows is translated to this error too.

Amanieu: I don't care much about the name.

Mara: I feel like we should wait for people with stronger opinions to show up on the issue.

### (nominated) rust.tf/130229 *ptr::add/sub: fix docs (do not claim equivalence with \`offset\`), and fix gap in Miri UB checks*

FCP + relnotes

### (waiting on team) rust.tf/119550 *Rename \`AsyncIterator\` back to \`Stream\`, introduce an AFIT\-based \`AsyncIterator\` trait*

-

### (new change proposal) rust.tf/libs443 *ACP: Generic \`Atomic\<T\>\`*

AtomicU128 is still unstable

we cannot add AtomicU256 in the future if it is a trait impl, but that's probably fine.

seems fine to go ahead as unstable, as long as this doesn't break anything.

Accepted

### (new change proposal) rust.tf/libs440 *\`Vec::as\_non\_null()\` method*

Accepted

### (new change proposal) rust.tf/libs439 *add \`impl From\<Box\<str\>\> for Box\<Path\>\` and friends*

Accepted

### (new change proposal) rust.tf/libs438 *ACP: \`ForwardInit\<'a, T\>\` to complement \`MaybeUninit\<T\>\`*

Mara: It still won't guarantee that you initialized the memory you were expected too. Doesn't give much guarantees over just &mut MaybeUninit. Don't think this is worth it.

The 8472: Can it live in a crate?

Amanieu: It already does.

Amanieu: Did we stabilize the buffer api?

Mara: Nope.

Amanieu: I think it's only worth it if it can replace the buffer api.

The 8472: It cannot replace it. It can be part of it..

Amanieu: I want to see how this is used in APIs. Ask for feedback. Also how it relates to the buffer/cursor interface.

Amanieu to reply.

### (new change proposal) rust.tf/libs437 *Path::force\_relative*

Close in favor of 396 `normalize_lexically`

### rust.tf/libs396 *Add normalize_lexically to Path*

Accepted

### (new change proposal) rust.tf/libs435 *Adding position to Enumerate*

Accept with name `next_index`

### (new change proposal) rust.tf/libs420 *Add basic tempfile API to stdlib*

Defer for now

### (new change proposal) rust.tf/libs406 *Make \`proc\_macro\` available outside procedural macro generation*

Exclude from agenda -- waiting-on-author

### (new change proposal) rust.tf/libs403 *Add \`RawStatusCode\`*

Waiting on author

### (stalled change proposal) rust.tf/libs67 *Replace \`feature(layout\_for\_ptr)\` with \`feature(layout\_for\_meta)\`*

Defer until next week so we can review pointer metadata ACPs together with someone who knows about the design.

### (stalled change proposal) rust.tf/libs205 *Expose the internal \`SimpleMessage\` struct and allow creating \`std::io::Error\`s with them*

Amanieu: Don't like macro, SimpleMessage exposes too much internal detail

The8472: Prefer the macro solution

Defer for now, need more input from team.

### (stalled change proposal) rust.tf/libs186 *Implementing flatten for \`Option\<&Option\<T\>\>\` and \`Option\<&mut Option\<T\>\>\`*

The 8472: would like more details on alterantives / motivation. "unintuitive" doesn't seem obvious without further details.

The 8472 to reply

### (stalled change proposal) rust.tf/libs257 *Implement \`From\<&'a &'static str\>\` for \`Arguments\<'a\>\`*

Nominated for Mara

### (stalled change proposal) rust.tf/libs271 *Unix Domain Sockets on Windows*

Accept under `std::os::windows::net`

### (stalled change proposal) rust.tf/libs92 *Add \`InProgress\` variant to \`io::ErrorKind\`*

Nominate for Josh

### (stalled change proposal) rust.tf/libs122 *Revamp unstable MaybeUninit APIs*

Ask for an update with regards to what's already been changed on nightly.

Amanieu to reply.

### (stalled change proposal) rust.tf/libs296 *ACP: Designing an alternative \`FromStr\`*

### (stalled change proposal) rust.tf/libs184 *Add \`setsid\` method to \`CommandExt\` trait*

### (stalled change proposal) rust.tf/libs264 *Ability to stop child process from Inheriting Handles*


_Generated by [fully-automatic-rust-libs-team-triage-meeting-agenda-generator](https://github.com/rust-lang/libs-team/tree/main/tools/agenda-generator)_
