--- date: 2025-04-08 url: https://hackmd.io/yyZiLFzARCqufdpw2BOjRA --- # Libs-API Meeting 2025-04-08 ###### tags: `Libs Meetings` `Minutes` **Meeting Link**: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr **Attendees**: Amanieu, Josh, David, Chris Denton, The 8472, Eric Holk, TC, Urgau ## Agenda - Triage - Anything else? ## Triage ### FCPs 9 rust-lang/rust T-libs-api FCPs - merge rust.tf/80437 *Tracking Issue for \`box\_into\_inner\`* - (1 checkboxes left) - merge rust.tf/138498 *Implement Deref\<Target=ByteStr\> for CStr* - (3 checkboxes left) - merge rust.tf/106418 *Implement \`PartialOrd\` and \`Ord\` for \`Discriminant\`* - (2 checkboxes left) - merge rust.tf/130823 *Tracking Issue for \`non\_null\_from\_ref\`* - (3 checkboxes left) - merge rust.tf/137280 *stabilize ptr::swap\_nonoverlapping in const* - (3 checkboxes left) - merge rust.tf/122661 *Change the desugaring of \`assert!\` for better error output* - (3 checkboxes left) - merge rust.tf/137992 *Stabilise \`os\_string\_pathbuf\_leak\`* - (4 checkboxes left) - merge rust.tf/115585 *Tracking issue for \`cfg\_match\`* - (2 checkboxes left) - merge rust.tf/138016 *Added \`Clone\` implementation for \`ChunkBy\`* - (3 checkboxes left) [joshtriplett (4)](https://rfcbot.rs/fcp/joshtriplett), [m-ou-se (4)](https://rfcbot.rs/fcp/m-ou-se), [BurntSushi (6)](https://rfcbot.rs/fcp/BurntSushi), [tmandry (1)](https://rfcbot.rs/fcp/tmandry), [Amanieu (5)](https://rfcbot.rs/fcp/Amanieu), [dtolnay (1)](https://rfcbot.rs/fcp/dtolnay), [nikomatsakis (2)](https://rfcbot.rs/fcp/nikomatsakis), [scottmcm (1)](https://rfcbot.rs/fcp/scottmcm) ### (nominated) rust.tf/libs547 *Change ACP process to track unimplemented ACPs* Reject -> same as before Accept -> leave open, add label, ask submitter to create tracking issue and close ### (nominated) rust.tf/98990 *#\[deprecated\] lint doesn't trigger when overriding deprecated method* Discussed last week -- pass this back to lang ### (nominated) rust.tf/111137 *Tracking Issue for AVX512 intrinsics* Blocked on rust.tf/138940 Josh will check on the status of this and we can discuss in the lang meeting tomorrow. ### (nominated) rust.tf/130703 *Tracking Issue for secure random data generation in \`std\`* Discussion on returning errors vs panicking Josh: it sounds like the lowest-level random source API needs to support returning error, and when we design the higher-level API for things like "roll a D6" (inspired by rand_core) we can definitely consider panicking in those ### (nominated) rust.tf/137198 *Rename \`cfg\_match!\` to \`cfg\_select!\`* In FCP as of 2 weeks ago on the tracking issue, agreed to close the rename PR ### Make `cfg_match!` a semitransparent macro #138993 https://github.com/rust-lang/rust/pull/138993 We're not sure what the difference in terms of exposed behavior is, and we'll ask about that. If we weren't to do this, it seems based on the discussion in the issue that this would be exposing part of "macros 2.0" for the first time, and that would need a lang FCP. ### (nominated) rust.tf/137654 *Debug impls of ExtractIf have inconsistent trait bounds* Waiting on David to send: - hashbrown PR - rust standard library hashbrown update - standard library API PR ### (waiting on team) rust.tf/134446 *Stabilize the \`cell\_update\` feature* Waiting on FCP ### (waiting on team) rust.tf/136687 *Improve the documentation of \`Display\` and \`FromStr\`, and their interactions* Deferring for a longer discussion ### (waiting on team) rust.tf/136912 *Add missing trait implementations for ScopedJoinHandle* Waiting on author ### (waiting on team) rust.tf/137487 *Stabilize \`assert\_matches\` and move it to \`core::macros\`* Related: rust.tf/139493 -- David to propose a way to avoid putting vec module into prelude ### (new change proposal) rust.tf/libs571 *implement \`Default\` for raw pointers* ### (new change proposal) rust.tf/libs570 *actually checked bitshifts* ### (new change proposal) rust.tf/libs569 *ACP: abstract \`BufReader::peek\`* ### (new change proposal) rust.tf/libs568 *Implement \`Read\` and \`Write\` traits for \`BorrowedFd\` and \`OwnedFd\`* Approved; Josh to write comment. ### (new change proposal) rust.tf/libs562 *Add ability to customize STARTUPINFO structure in Command API* ### (new change proposal) rust.tf/libs559 *Expose \`.set\_flags()\` on Posix \`CommandExt \`* ### (new change proposal) rust.tf/libs557 *Add \`iter::Peekable::next\_unpeek\`* David's counterproposal: no new Unpeeker type, no ambiguity about what happens if the peek slot is already filled when you unpeek ```rust impl<I: Iterator> Peekable<I> { fn bikeshed(&mut self) -> &mut Option<I::Item>; } let peek_slot = peekable.bikeshed(); if let Some(value) = peek_slot.take() { if bad(&value) { *peek_slot = Some(value); // unpeek } } else { // end of iterator } ``` ### (new change proposal) rust.tf/libs555 *Add \`std::io::Seek\` instance for \`std::io::Take\<T\>\` when \`T: Seek\`* ### (new change proposal) rust.tf/libs554 *Add \`std::process::Output::exit\_ok\`* ### (new change proposal) rust.tf/libs553 *Add a "shrink\-if\-excessive" API to \`Vec\`* ### (stalled change proposal) rust.tf/libs287 *ACP: Add \`FromByteStr\` trait with blanket impl \`FromStr\`* ### (stalled change proposal) rust.tf/libs181 *\`Cow::map\_borrowed\`, \`Cow::map\_owned\`, and \`Cow::map\`* ### (stalled change proposal) rust.tf/libs344 *ACP: Add \`std::string::String::replace\_and\_count\` and/or \`replace\_with\`* ### (stalled change proposal) rust.tf/libs379 *Combine, an iterator adapter which statefully maps multiple input iterations to a single output iteration* ### (stalled change proposal) rust.tf/libs347 *Context reactor hook* ### (stalled change proposal) rust.tf/libs296 *ACP: Designing an alternative \`FromStr\`* ### (stalled change proposal) rust.tf/libs111 *Restructure ptr\_metadata to minimal support* ### (stalled change proposal) rust.tf/libs366 *Implementing UnixSocketExt traits for solaris/illumos ; starting with the unix\_socket\_exclbind feature* ### (stalled change proposal) rust.tf/libs253 *Provide way to deconstruct std::iter::Rev* ### (stalled change proposal) rust.tf/libs336 *Add \`or\_try\_\*\` variants for HashMap and BTreeMap Entry APIs* _Generated by [fully-automatic-rust-libs-team-triage-meeting-agenda-generator](https://github.com/rust-lang/libs-team/tree/main/tools/agenda-generator)_