# 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*