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