---
# System prepended metadata

title: Libs-API Meeting 2024-08-27
tags: [Minutes, Libs Meetings]

---

# Libs-API Meeting 2024-08-27

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

**Meeting Link**: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr
**Attendees**: Amanieu, David, Josh, The 8472, Eric Holk, Jubilee

## Agenda

- Triage
- Anything else?

## Triage

### FCPs

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

  - merge rust.tf/80437 *Tracking Issue for \`box\_into\_inner\`* - (1 checkboxes left)
  - merge rust.tf/128321 *Update \`catch\_unwind\` doc comments for \`c\_unwind\`* - (4 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\`* - (4 checkboxes left)
  - merge rust.tf/120141 *Tracking Issue for enum access in offset\_of* - (6 checkboxes left)
  - merge rust.tf/114298 *Tracking Issue for \`char::MIN\`* - (3 checkboxes left)
  - merge rust.tf/65225 *Tracking issue for \`#!\[feature(entry\_insert)\]\`* - (3 checkboxes left)
  - merge rust.tf/129238 *Stabilize \`Ipv6Addr::is\_unique\_local\` and \`Ipv6Addr::is\_unicast\_link\_local\`* - (4 checkboxes left)

[dtolnay (1)](https://rfcbot.rs/fcp/dtolnay), [pnkfelix (2)](https://rfcbot.rs/fcp/pnkfelix), [m-ou-se (6)](https://rfcbot.rs/fcp/m-ou-se), [BurntSushi (7)](https://rfcbot.rs/fcp/BurntSushi), [digama0 (1)](https://rfcbot.rs/fcp/digama0), [nikomatsakis (2)](https://rfcbot.rs/fcp/nikomatsakis), [joshtriplett (5)](https://rfcbot.rs/fcp/joshtriplett), [Amanieu (3)](https://rfcbot.rs/fcp/Amanieu), [tmandry (1)](https://rfcbot.rs/fcp/tmandry), [scottmcm (2)](https://rfcbot.rs/fcp/scottmcm)

### (nominated) rust.tf/127343 *regression: type annotations needed for Box\<\_\>*

Extensively discussed in issues, not doing revert

Relevant: [std-dev-guide#69](https://github.com/rust-lang/std-dev-guide/pull/69), needs review in detail after the meeting

Blog post?

Josh: Happy to help write draft text, if someone else could lead the process of getting the post approved by any teams.

Jubilee: I'll make sure that coordination happens.

This issue can be closed once there is a blog post

### (nominated) rust.tf/128321 *Update \`catch\_unwind\` doc comments for \`c\_unwind\`*

Waiting on checkboxes; unnominated

### (nominated) rust.tf/129401 *Partially stabilize \`feature(new\_uninit)\`*

No change to name, David to reply and merge.

### (nominated) rust.tf/129555 *stabilize const\_float\_bits\_conv*

Amanieu to start FCP.

### (nominated) rust.tf/129561 *New panics from sort detecting Ord/PartialOrd violations*

The 8472: Java likewise throws exception if your comparison is nonsensical

<https://docs.oracle.com/en%2Fjava%2Fjavase%2F22%2Fdocs%2Fapi%2F%2F/java.base/java/util/Collections.html#sort(java.util.List)>

> IllegalArgumentException - (optional) if the implementation detects that the natural ordering of the list elements is found to violate the Comparable contract

`sort` has always required `Ord` so panicking on a bad `Ord` impl being detected is clearly okay. But `sort_by` is more ambiguous. And people `sort_by` a comparison that does not meet the rules of `Ord`.

Josh: people write toy examples like "what if I sorted by `rand()`, surely that will produce a random shuffle"

Josh: needs to be in relnotes for 1.81

- rust.tf/129661

`sort_by` previously documented as: _"The comparator function must define a total ordering for the elements in the slice. If the ordering is not total, the order of the elements is unspecified."_

Authors CCed on relnotes issue (rust.tf/129661), Josh to provide notes on panic

### (nominated) rust.tf/129572 *Tracking issue for release notes of #128259: \[illumos/solaris\] set MSG\_NOSIGNAL while writing to sockets*

1.82 (7 weeks left)

Amanieu to write a 1-liner

### (nominated) rust.tf/129581 *exit: explain our expectations for the exit handlers registered in a Rust program*

Inclined to accept

FCP?

### rust.tf/libs215 **Implement AsRef, Borrow for std::cell::Ref, RefMut**

Shouldn't implement `AsRef` due to likely breakage. (Could implement `AsRef` for `IoSlice` and `IoSliceMut`.)

Could add `Borrow` to a subset of the proposed types (not the mutex guards).

Inclined to reject

The8472 to reply

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

Waiting on WG-async

### (new change proposal) rust.tf/libs433 *guarantee that remove\_dir will only return ErrorKind::NotFound if the file does not exist*

Accepted

### (new change proposal) rust.tf/libs432 *\[ACP\] adding todevice call to std::net*

Close PR, reject ACP because we need a way to operate on unbounded sockets first.

### (new change proposal) rust.tf/libs422 *Additional BufReader API for incremental buffer filling*

### (new change proposal) rust.tf/libs421 *Implement \`IntoRawX\`, \`FromRawX\` and \`AsRawX\` for \`RawHandler\` and \`RawSocket\`*

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

### (new change proposal) rust.tf/libs419 *Enable specialisation of \`std::io::copy\` for non stdlib types*

### (new change proposal) rust.tf/libs418 *Box/Vec/slice convenience NonNull methods*

### (new change proposal) rust.tf/libs416 *Add new API for named fifo*

### (new change proposal) rust.tf/libs415 *Add a method for constructing a \`Waker\` from a \`Fn()\`*

### (stalled change proposal) rust.tf/libs255 *Adding \`set\_route\` to \`sys::unix::net\`*

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

### (stalled change proposal) rust.tf/libs253 *Provide way to deconstruct std::iter::Rev*

### (stalled change proposal) rust.tf/libs287 *ACP: Add \`FromByteStr\` trait with blanket impl \`FromStr\`*

### (stalled change proposal) rust.tf/libs327 *Add Wrapping/Saturating::from\_mut reference conversions*

### (stalled change proposal) rust.tf/libs246 *ACP: replace use of \`Pointee\` trait with a \`ptr::Metadata\` type*

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

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

### (stalled change proposal) rust.tf/libs298 *Constructive/Destructive Interference Size Padding*

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


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