---
# System prepended metadata

title: Libs-API Meeting 2024-10-22
tags: [Minutes, Libs Meetings]

---

---
date: 2024-10-22
url: https://hackmd.io/TDRM2IZaQUWkUBvDtD5nLw
---

# Libs-API Meeting 2024-10-22

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

**Meeting Link**: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr
**Attendees**: Amanieu, The8472, TC

## Agenda

- Triage
- Anything else?

## Triage

### FCPs

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

  - merge rust.tf/97601 *Tracking Issue for map\_many\_mut* - (3 checkboxes left)
  - merge rust.tf/80437 *Tracking Issue for \`box\_into\_inner\`* - (1 checkboxes left)
  - merge rust.tf/130660 *Tracking Issue for \`const\_char\_encode\_utf16\`* - (3 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/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/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/131377 *Add LowerExp and UpperExp implementations to NonZero* - (3 checkboxes left)
  - merge rust.tf/131784 *Stabilize unsigned and float variants of \`num\_midpoint\` feature* - (3 checkboxes left)
  - merge rust.tf/74939 *Tracking issue for const \`\<\*const T\>::is\_null\`* - (7 checkboxes left)
  - merge rust.tf/129322 *Tracking Issue for \`ptr::fn\_addr\_eq\`* - (7 checkboxes left)
  - merge rust.tf/76654 *Tracking issue for const \`Pin\` methods* - (4 checkboxes left)
  - merge rust.tf/103900 *Tracking Issue for \`const\_arguments\_as\_str\`* - (3 checkboxes left)
  - merge rust.tf/101400 *Tracking Issue for const\_unicode\_case\_lookup* - (4 checkboxes left)
  - merge rust.tf/91930 *Tracking Issue for \`const\_option\_ext\`* - (4 checkboxes left)

[Amanieu (13)](https://rfcbot.rs/fcp/Amanieu), [tmandry (3)](https://rfcbot.rs/fcp/tmandry), [BurntSushi (13)](https://rfcbot.rs/fcp/BurntSushi), [m-ou-se (12)](https://rfcbot.rs/fcp/m-ou-se), [pnkfelix (3)](https://rfcbot.rs/fcp/pnkfelix), [nikomatsakis (4)](https://rfcbot.rs/fcp/nikomatsakis), [joshtriplett (12)](https://rfcbot.rs/fcp/joshtriplett), [dtolnay (1)](https://rfcbot.rs/fcp/dtolnay), [scottmcm (3)](https://rfcbot.rs/fcp/scottmcm)

### (nominated) rust.tf/84277 *Tracking Issue for \`try\_trait\_v2\`, A new design for the \`?\` desugaring (RFC#3058)*

We had decided that this needed a design meeting.  We'll leave this nominated and ask scottmcm to give an update.

We might want to prepare for the design meeting a document breaking down the open questions, what could be partially stabilized, etc.  Probably scottmcm will do that when preparing the design meeting document.

### (nominated) rust.tf/103900 *Tracking Issue for \`const\_arguments\_as\_str\`*

FCP started, unnominating.

### (nominated) rust.tf/104642 *Tracking Issue for get\_many\_mut*

Forgot to unnominate last week.

### (nominated) rust.tf/116226 *Tracking Issue for \`{u8,i8,...}::isqrt\`*

FCP started, unnominating.

### (nominated) rust.tf/129329 *Implement \`From\<&mut {slice}\>\` for \`Rc/Arc\<{slice}\>\`*

We had already accepted an ACP to do this.

We'll start FCP here inclusive of a small review change we'd like to make.

### (nominated) rust.tf/131261 *Stabilize \`UnsafeCell::from\_mut\`*

Let's defer this to next week when there may be a larger quorum, since David is asking for a consensus decision here.

### (nominated) rust.tf/131304 *float types: move copysign, abs, signum to libcore*

We'll start an FCP here.

### (nominated) rust.tf/131770 *Overly restrictive lifetime in \`std::panic::Location::file\`*

We can't remove the lifetime from the struct, but we can make the methods return `'static`.

Technically needs a crater run since it changes signatures.

The 8472 to reply/mentor. 

### (nominated) rust.tf/131861 *Footgun with Rc::assume\_init and related methods*

We'll document the current behavior and recommend doing this only when there's a reference count of one.

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

Not waiting on us.

### (waiting on team) rust.tf/131391 *Stabilize \`isqrt\` feature*

Waiting on FCP

### (new change proposal) rust.tf/libs467 *ACP: add \`least\_significant\_one\` and \`most\_significant\_one\` to integer types and \`NonZero\` types*

We like this and will call it `isolate_most_significant_one`.

We thought about `isolate_most_significant_bit`, but that would seem to imply isolating a particular fixed bit, not doing a search for a one and isolating that bit.

The choice to return the mask directly rather than to return an `Option` of the index of the bit is driven by the use cases.

### (new change proposal) rust.tf/libs466 *ACP: Add nul\-terminated version of \`core::panic::Location::file\`*

There's an interesting tradeoff here between making the Linux C code more Rust-like, by adding versions of e.g. `__might_sleep` that take a pointer and a length, or making Rust more C-like by null-terminating all of these compiler-generated `const` strings, at the cost of that extra space.

The feeling on the call is that it's not worth making Rust more C-like in this case.  We'll ask the RfL people about how it impacts them to add the pointer and length versions of these functions.

### (new change proposal) rust.tf/libs465 *Add Vec::last\_or\_push and friends*

### (new change proposal) rust.tf/libs462 *impl fmt::Write for BufWriter*

### (new change proposal) rust.tf/libs461 *Implement Try for cmp::Ordering*

### (new change proposal) rust.tf/libs460 *ACP: \`Stdin::next\_line\` and \`BufRead::next\_line\`*

### (new change proposal) rust.tf/libs459 *ACP: Expose rustc\_lexer::unescape Functionality in the proc\_macro Crate for Standardized Literal Parsing*

### (new change proposal) rust.tf/libs457 *APC: split\_pattern on slices*

### (new change proposal) rust.tf/libs456 *Add Option::todo and Result::todo*

### (new change proposal) rust.tf/libs455 *slice::Windows::as\_slice*


### (stalled change proposal) rust.tf/libs331 *Support permanently skipping tests on a specific system*

### (stalled change proposal) rust.tf/libs210 *Add associated consts to f32, f64 for mathematical constants*

### (stalled change proposal) rust.tf/libs330 *Add \`net::hostname\` to retrieve the devices host name*

### (stalled change proposal) rust.tf/libs337 *Add \`(checked\_)norem\_div\` methods for integer types*

### (stalled change proposal) rust.tf/libs295 *Create iterator function in std libs: split\_item\_mut()*

### (stalled change proposal) rust.tf/libs230 *Add \`saturating\_shl\` and \`saturating\_shr\` for ints*

### (stalled change proposal) rust.tf/libs332 *Implement ExactSizeIterator for Flatten\<option::IntoIter\<I\>\>*

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

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

### (stalled change proposal) rust.tf/libs148 *Expose raw std{in,out,err}*


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