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