# Libs-API Meeting 2023-06-06 ###### tags: `Libs Meetings` `Minutes` **Meeting Link**: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr **Attendees**: Amanieu, The 8472, Mara, Urgau ## Agenda - Triage - Anything else? - Someone put a interesting comment for midpoint: https://github.com/rust-lang/rust/issues/110840#issuecomment-1563774903 ## Triage ### FCPs 10 rust-lang/rust T-libs-api FCPs [m-ou-se (5)](https://rfcbot.rs/fcp/m-ou-se), [Amanieu (3)](https://rfcbot.rs/fcp/Amanieu), [dtolnay (4)](https://rfcbot.rs/fcp/dtolnay), [BurntSushi (5)](https://rfcbot.rs/fcp/BurntSushi), [joshtriplett (3)](https://rfcbot.rs/fcp/joshtriplett) ### (waiting on team) rust.tf/107619 *Specify behavior of HashSet::insert* FCP started. Removed label. ### (waiting on team) rust.tf/98202 *Implement \`TryFrom\<&OsStr\>\` for \`&str\`* FCP started. Removed label. ### (waiting on team) rust.tf/99339 *Make BinaryHeap parametric over Allocator* Reassigned to Amanieu. ### (waiting on team) rust.tf/107587 *Mark \`std\` integral modules as deprecated (\`std::u32\`, \`std::i16\`, etc.)* doc(hidden) isn't the right tool. a doc(noindex) or something could be useful. E.g. `use std::i32::MAX;` is used in some places: https://github.com/search?type=code&q=%22use+std%3A%3Ai32%3A%3AMAX%3B%22 Might be fine to just steer towards `i32::MAX` without a `use` for just `MAX`. If a shorthand is needed people can do `const MAX = i32::MAX;` Two questions: - How should rustdoc present these modules? - Should rustc warn for using these modules? - Can cargo-fix handle this? Maybe first deprecate the `std::i32::*` consts and not yet deprecate the `std::i32` module itself. `#[deprecated]` now has a `suggestion =` feature to allow for a machine applicable suggestion. Deprecation is often used to push people away from bad things, but this isn't bad, just a cleanup. So is deprecation worth it? Do we need something lighter? FCP? Amanieu to reply. Related: ACP 210 (float math consts) Importing `use std::f64::PI;` is common, but that wouldn't work with an associated constant. ### (waiting on team) rust.tf/110738 *Stabilize \`ThreadId::as\_u64\`* Waiting on use cases. ### (waiting on team) rust.tf/111074 *Relax implicit \`T: Sized\` bounds on \`BufReader\<T\>\`, \`BufWriter\<T\>\` and \`LineWriter\<T\>\`* FCP started. Removed label. ### (waiting on team) rust.tf/111081 *impl SliceIndex\<str\> for (Bound\<usize\>, Bound\<usize\>)* FCP started. Removed label. ### (new change proposal) github.com/rust-lang/libs-team/issues/234 *ACP: Add \`Cow::clear\` methods* Three identically named methods on the same generic type will not work out well. Seems highly specific? Difference with just assigning `""` or `&[]` is keeping the capacity for the owned types..? Not mentioned as motivation. This isn't extensible: users can implement their own ToOwned, but with this they can't make Cow::clear() for their own types work. Amanieu to reply. ### (new change proposal) github.com/rust-lang/libs-team/issues/233 *impl Into\<T\> for Infallible where T: Error* David (not present) will have opinions. ### (new change proposal) github.com/rust-lang/libs-team/issues/236 *Implement \`PartialEq\` and \`Eq\` for \`SocketAddr\`* unix::net::SocketAddr stores a libc::sockaddr_un It gives an error for non-AF_UNIX socketaddr already, so it's always a unix socket addr. (It won't ever store e.g. an IP address.) https://doc.rust-lang.org/stable/src/std/os/unix/net/addr.rs.html#88-91 Should Unnamed compare equal to Unnamed? Seems hard to get right. Alternative: expose as_bytes()? Needs more discussion on the github thread. ### (new change proposal) github.com/rust-lang/libs-team/issues/232 *Implement PartialOrd\<str\> for String, PartialOrd\<\[T\] for Vec\<T\>* ### (new change proposal) github.com/rust-lang/libs-team/issues/235 *ACP: Extended logic for IP networks* ### (stalled change proposal) github.com/rust-lang/libs-team/issues/116 *Lossy UTF8 conversion of owned types (\`Vec::\<u8\>::into\_utf8\_lossy\`).* ### (stalled change proposal) github.com/rust-lang/libs-team/issues/124 *Integrate \`Error\` trait with panic interfaces* ### (stalled change proposal) github.com/rust-lang/libs-team/issues/119 *ACP: Add a constant for the golden ratio (phi) to the floating point types* ### (stalled change proposal) github.com/rust-lang/libs-team/issues/115 *ACP: Range::cmp\_scalar; comparison (less/equal/greater) to a primitive of the Range* ### (stalled change proposal) github.com/rust-lang/libs-team/issues/111 *Restructure ptr\_metadata to minimal support*