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