---
# System prepended metadata

title: Libs-API Meeting 2025-02-18
tags: [Minutes, Libs Meetings]

---

---
date: 2025-02-18
url: https://hackmd.io/kYrrsxPlR0WzKaNO-RylBA
---

# Libs-API Meeting 2025-02-18

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

**Meeting Link**: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr
**Attendees**: Amanieu, Mara, Josh, David, 8472, Chris Denton, TC

## Agenda

- Triage
- Anything else?

## Triage

### FCPs

6 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/115585 *Tracking issue for \`cfg\_match\`* - (4 checkboxes left)
  - merge rust.tf/134213 *Stabilize \`naked\_functions\`* - (4 checkboxes left)
  - merge rust.tf/136877 *Fix missing const for inherent pointer \`replace\` methods* - (3 checkboxes left)
  - merge rust.tf/62280 *Tracking issue for \`slice\_take\`* - (3 checkboxes left)

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

### (nominated) rust.tf/libs358 *Update Windows exe search order (phase 2)*

Discussed before, but waited on Chris Denton to discuss this.

Amanieu: On unix, we don't check the PATH of the chlid process. we use the PATH of the parent process.

Issue to be updated and then discussed again.

### (nominated) rust.tf/125882 *Tracking Issue for \`integer\_sign\_cast\`*

FCP finished.

`as_` instead of `cast_`?

Mara: I don't think we should change the value in a `as_` named method. -1 and 4294967295 are different values, even though they are the same in memory. We can't use `as` or `to` to convert between different values.

David: TryFrom would refuse this conversion

Amanieu: Prefer `as`. Implies the in memory representation is the same.

Amanieu: Matches what people do today, because they write `x as ..`.

The 8472: For pointers we also use `cast`.

David: How about a doc alias for `as_signed` and `as_unsigned`?

JoshT: Agree it shouldn't be long. People should stop using the `as` operator. People might not want to change `us u64` to `.cast_unsigned()`. How about `u` instead of `unsigned`?

Amanieu: I object to that.

The 8472: just `.cast()` with inferrence?

Amanieu: No, the point is to be explicit.

JoshT: Agree w/ amanieu

JoshT: Keep `cast_unsigned` and `cast_signed` but also add `cast_u64` etc?

JoshT: If `as_` has objections and `cast_` is shippable, ship that.

Amanieu: Don't feel strongly.

Consensus: Continue with `cast_`.

JoshT to reply.

### (nominated) rust.tf/129397 *Tracking Issue for \`box\_uninit\_write\`*

Mara: Seems fine.

Amanieu: Would this conflict with a version for slices? Or would we call that write_slice?

Amanieu: Yeah seems fine.

### (nominated) rust.tf/130994 *Tracking Issue for File lock API*

Discussed last week. Documentation update PR is up to resolve the issue for which this was nominated.

### (nominated) rust.tf/136876 *Locking documentation updates*

Looks good. Will leave review comments.

### (waiting on team) rust.tf/136668 *Stabilize \`core::str::from\_utf8\_mut\` as \`const\`*

In FCP

### (waiting on team) rust.tf/136687 *Improve the documentation of \`Display\` and \`FromStr\`, and their interactions*

Amanieu to review and summarize discussion.

### (waiting on team) rust.tf/136932 *Reduce formatting \`width\` and \`precision\` to 16 bits*

In FCP

### (waiting on team) rust.tf/137026 *Stabilize (and const\-stabilize) \`integer\_sign\_cast\`*

Already discussed.

### (new change proposal) rust.tf/libs542 *(My API Change Proposal)*

### (new change proposal) rust.tf/libs541 *ACP: slice \`shift\_move\`*

Amanieu: Sounds reasonable, but also like a O(n^2) disaster waiting to happen.

Mara: There are so many ways to shuffle elements in an array around. Do we want a method for every single way to shuffle things around?

Mara: We already have this method. It's called rotate_right or rotate_left depending on the direction. This is only useful if you want to support both directions..

Amanieu: Mildly in favor

Mara: I don't think this passes our bar. We are pretty careful to not add too many things on Option and Result. We should do the same for arrays.

JoshT: This method would need to have a better name. The name is not self-explanatory

Mara: I don't think there exists a good name for this method..

The 8472: Criterea is if it needs to be in std. I think this one doesn't.

JoshT to summarize and close it.

### (new change proposal) rust.tf/libs540 *Add Unicode XID related functionalities to \`proc\_macro\` crate*

Discussion ongoing. Hanna asking good questions.

### (new change proposal) rust.tf/libs539 *\`IntoBounds::clamp\` and \`RangeBounds::is\_empty\`*

`clamp` should be called `intersection`?

JoshT: What does it return if there is no intersection?

Amanieu: It operates on both ends independently

Amanieu: I think this ACP is reasonable, but should be called `intersection`.

JoshT to reply.

### (new change proposal) rust.tf/libs536 *ACP: hex formatting and parsing for floats*

### (new change proposal) rust.tf/libs531 *Allow unguarded access to an RwLock's inner value using unsafe*

### (new change proposal) rust.tf/libs530 *ACP: Expose more Unicode casing data in libcore*

### (new change proposal) rust.tf/libs529 *ACP: Add future::ok and future::err*

### (new change proposal) rust.tf/libs528 *ACP: Extending \`Borrow\` and \`BorrowMut\` to owned references*

### (new change proposal) rust.tf/libs527 *Introduce a \`Compare\` trait in the cmp mod*


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

### (stalled change proposal) rust.tf/libs155 *Arbitrary alternate flags in \`std::fmt::Formatter\`*

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

### (stalled change proposal) rust.tf/libs194 *Fix:Introduce an interface to expose the current \`Command\` captured env var logic*

### (stalled change proposal) rust.tf/libs365 *ACP: \`TwoSidedRange\` trait*

### (stalled change proposal) rust.tf/libs333 *\`NonNull::{from\_ref, from\_mut}\`*

### (stalled change proposal) rust.tf/libs124 *Integrate \`Error\` trait with panic interfaces*

### (stalled change proposal) rust.tf/libs344 *ACP: Add \`std::string::String::replace\_and\_count\` and/or \`replace\_with\`*

### (stalled change proposal) rust.tf/libs111 *Restructure ptr\_metadata to minimal support*

### (stalled change proposal) rust.tf/libs192 *Report allocation errors through the panic handler*


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