**Meeting Link**: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr **Attendees**: Amanieu, David, Mara, The 8472 ## Agenda - Triage - Anything else? ## Triage ### FCPs 11 rust-lang/rust T-libs-api FCPs - merge rust.tf/88581 *Tracking Issue for \`int\_roundings\`* - (1 checkboxes left) - merge rust.tf/80437 *Tracking Issue for \`box\_into\_inner\`* - (1 checkboxes left) - merge rust.tf/91946 *Tracking Issue for \`io::Error::other\`* - (3 checkboxes left) - merge rust.tf/98461 *Document lack of panic safety guarantees of \`Clone::clone\_from\`* - (0 checkboxes left) - merge rust.tf/52331 *Correcting Path::components on Redox* - (5 checkboxes left) - merge rust.tf/82901 *Tracking Issue for \`Option::get\_or\_insert\_default\`* - (2 checkboxes left) - merge rust.tf/83871 *Tracking Issue for CharIndices::offset function* - (4 checkboxes left) - merge rust.tf/99262 *Tracking Issue for \`io\_error\_downcast\`* - (4 checkboxes left) - merge rust.tf/106655 *Tracking Issue for \`#!\[feature(offset\_of)\]\`* - (0 checkboxes left) - merge rust.tf/107587 *Mark \`std\` integral modules as deprecated (\`std::u32\`, \`std::i16\`, etc.)* - (4 checkboxes left) - merge rust.tf/100455 *Implement RefUnwindSafe for Backtrace* - (3 checkboxes left) [Amanieu (4)](https://rfcbot.rs/fcp/Amanieu), [yaahc (4)](https://rfcbot.rs/fcp/yaahc), [joshtriplett (4)](https://rfcbot.rs/fcp/joshtriplett), [dtolnay (3)](https://rfcbot.rs/fcp/dtolnay), [m-ou-se (5)](https://rfcbot.rs/fcp/m-ou-se), [BurntSushi (7)](https://rfcbot.rs/fcp/BurntSushi) ### (nominated) rust.tf/73014 *Tracking issue for std::default::default()* FCP close in progress. ### (nominated) rust.tf/98704 *Implement From\<OwnedFd/Handle\> for ChildStdin/out/err object* Mara to review and start FCP if it looks okay. ### (nominated) rust.tf/112858 *Update Android system definitions and add riscv\-linux\-android as tier 3 target* FCP merge in progress: https://github.com/rust-lang/rust/pull/113130 ### (waiting on team) rust.tf/100455 *Implement RefUnwindSafe for Backtrace* FCP started. ### (waiting on team) rust.tf/107587 *Mark \`std\` integral modules as deprecated (\`std::u32\`, \`std::i16\`, etc.)* Snoozed. ### (waiting on team) rust.tf/111884 *Clarify intended use case for From/TryFrom/Into/TryInto* Waiting on author. Relabeled. ### (new change proposal) rust.tf/libs235 *ACP: Extended logic for IP networks* {forgot to take notes about most of the discussion, sorry} leading_zeros can be confusing. how about .to_bits().leading_zeros()? (and have from_bits too) BitAnd and BitOr and Not and BITS and Step seems fine. Mara to reply. ### (new change proposal) rust.tf/libs236 *Implement \`PartialEq\`, \`Eq\`, \`PartialOrd\`, \`Ord\`, \`Hash\` for unix \`SocketAddr\`* Mara: With this ACP, having a `HashMap<SocketAddr, ..>` will probably result in a map with one 'unnamed' entry, which is probably a bug. Seems like SocketAddr is like an Option, and being forced to handle the None case is good. ..: Is that common though? Amanieu: If you're using sockets you're know which type you're using, so the risk of mixing different kinds of addresses is not a problem. Mara: Current way of doing this is using .as_pathname and .as_abstract_name. those give options to unwrap/handle. Amanieu: but those return references into the SocketAddr, so that's annoying to work with. Amanieu: So I'm in favour of this ACP. Mara: Alternative is to expose .as_bytes(). Amanieu: That still returns a reference. Amanieu: This ACP is not ideal, but it seems to be the best option. The 8472: The newtype approach is more resilient. (Newtype wrapper that calls .as_pathname in its trait impls.) Mara: Starting to agree with amanieu. Seeing this unix socketaddr as 'just a bag of bytes' seems reasonable. (Still in favor of also adding as_bytes.) Mara: Ipv4Address also has special cases (255.255.255.255?) that we don't handle specially. So maybe handling unix socket addr in the same way is fine. The 8472: That's not quite the same but sure Asked for a PR+FCP. ### (new change proposal) rust.tf/libs237 *thread::sleep\_until, wait until a deadline is reached* The 8472: I think this needs a clock source, because we're inconsistent about whether Instant includes suspended time. Also Instant vs SystemTime. ..: Instant is attached to a specific clock though. The 8472: Yes, but we might have more types in the future, for specific clocks. Mara: So it should be `sleep_until<T: Timestamp>(T)` or something like that? The 8472: Yes. Amanieu: I somewhat agree, but we can leave this as a concern for later (before stabilization). Mara: Do we already have any 'until' funciton, on condvar or something? Amanieu: Nope The 8472: Clock sources are a mess. Mara: If we also want park_until and Condvar::wait_until, we can't accept more than Instant and SystemTime, because of limits of e.g. futex() on linux. David: Is waiting on SystemTime supported everywhere? Amanieu: No David: So, can we provide sleep_until for anything other than Instant, and make it work cross-platform? Seems like no. Conclusion: ACP accepted, but whether it can be generic over Instant+SystemTime+.. should be added as an unresolved question. (Amanieu: Oh, Windows does support SystemTime, it seems.) ### (new change proposal) rust.tf/libs238 *ACP: \`NonNanFNN\` and \`FiniteFNN\` float wrappers* ### (new change proposal) rust.tf/libs244 *add wrapping\_offset\_from* ### (stalled change proposal) rust.tf/libs139 *Add back \`BorrowedBuf::filled\_mut\`* ### (stalled change proposal) rust.tf/libs104 *std::io: vectored reads with uninitialized memory (Read::read\_buf\_vec)* ### (stalled change proposal) rust.tf/libs128 *Add \`inner\` and \`into\_inner\` methods to iterator adapters* ### (stalled change proposal) rust.tf/libs124 *Integrate \`Error\` trait with panic interfaces* ### (stalled change proposal) rust.tf/libs111 *Restructure ptr\_metadata to minimal support* _Generated by [fully-automatic-rust-libs-team-triage-meeting-agenda-generator](https://github.com/rust-lang/libs-team/tree/main/tools/agenda-generator)_