--- date: 2024-10-22 url: https://hackmd.io/TDRM2IZaQUWkUBvDtD5nLw --- # Libs-API Meeting 2024-10-22 ###### tags: `Libs Meetings` `Minutes` **Meeting Link**: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr **Attendees**: Amanieu, The8472, TC ## Agenda - Triage - Anything else? ## Triage ### FCPs 17 rust-lang/rust T-libs-api FCPs - merge rust.tf/97601 *Tracking Issue for map\_many\_mut* - (3 checkboxes left) - merge rust.tf/80437 *Tracking Issue for \`box\_into\_inner\`* - (1 checkboxes left) - merge rust.tf/130660 *Tracking Issue for \`const\_char\_encode\_utf16\`* - (3 checkboxes left) - merge rust.tf/106418 *Implement \`PartialOrd\` and \`Ord\` for \`Discriminant\`* - (2 checkboxes left) - merge rust.tf/123723 *Make \`std::os::darwin\` public* - (3 checkboxes left) - merge rust.tf/120141 *Tracking Issue for enum access in offset\_of* - (6 checkboxes left) - merge rust.tf/129238 *Stabilize \`Ipv6Addr::is\_unique\_local\` and \`Ipv6Addr::is\_unicast\_link\_local\`* - (3 checkboxes left) - merge rust.tf/130191 *\[discussion\] \`ErrorKind::CrossesDevices\` from \`io\_error\_more\`* - (4 checkboxes left) - merge rust.tf/130190 *\[discussion\] \`ErrorKind::FilesystemQuotaExceeded\` from \`io\_error\_more\`* - (4 checkboxes left) - merge rust.tf/131377 *Add LowerExp and UpperExp implementations to NonZero* - (3 checkboxes left) - merge rust.tf/131784 *Stabilize unsigned and float variants of \`num\_midpoint\` feature* - (3 checkboxes left) - merge rust.tf/74939 *Tracking issue for const \`\<\*const T\>::is\_null\`* - (7 checkboxes left) - merge rust.tf/129322 *Tracking Issue for \`ptr::fn\_addr\_eq\`* - (7 checkboxes left) - merge rust.tf/76654 *Tracking issue for const \`Pin\` methods* - (4 checkboxes left) - merge rust.tf/103900 *Tracking Issue for \`const\_arguments\_as\_str\`* - (3 checkboxes left) - merge rust.tf/101400 *Tracking Issue for const\_unicode\_case\_lookup* - (4 checkboxes left) - merge rust.tf/91930 *Tracking Issue for \`const\_option\_ext\`* - (4 checkboxes left) [Amanieu (13)](https://rfcbot.rs/fcp/Amanieu), [tmandry (3)](https://rfcbot.rs/fcp/tmandry), [BurntSushi (13)](https://rfcbot.rs/fcp/BurntSushi), [m-ou-se (12)](https://rfcbot.rs/fcp/m-ou-se), [pnkfelix (3)](https://rfcbot.rs/fcp/pnkfelix), [nikomatsakis (4)](https://rfcbot.rs/fcp/nikomatsakis), [joshtriplett (12)](https://rfcbot.rs/fcp/joshtriplett), [dtolnay (1)](https://rfcbot.rs/fcp/dtolnay), [scottmcm (3)](https://rfcbot.rs/fcp/scottmcm) ### (nominated) rust.tf/84277 *Tracking Issue for \`try\_trait\_v2\`, A new design for the \`?\` desugaring (RFC#3058)* We had decided that this needed a design meeting. We'll leave this nominated and ask scottmcm to give an update. We might want to prepare for the design meeting a document breaking down the open questions, what could be partially stabilized, etc. Probably scottmcm will do that when preparing the design meeting document. ### (nominated) rust.tf/103900 *Tracking Issue for \`const\_arguments\_as\_str\`* FCP started, unnominating. ### (nominated) rust.tf/104642 *Tracking Issue for get\_many\_mut* Forgot to unnominate last week. ### (nominated) rust.tf/116226 *Tracking Issue for \`{u8,i8,...}::isqrt\`* FCP started, unnominating. ### (nominated) rust.tf/129329 *Implement \`From\<&mut {slice}\>\` for \`Rc/Arc\<{slice}\>\`* We had already accepted an ACP to do this. We'll start FCP here inclusive of a small review change we'd like to make. ### (nominated) rust.tf/131261 *Stabilize \`UnsafeCell::from\_mut\`* Let's defer this to next week when there may be a larger quorum, since David is asking for a consensus decision here. ### (nominated) rust.tf/131304 *float types: move copysign, abs, signum to libcore* We'll start an FCP here. ### (nominated) rust.tf/131770 *Overly restrictive lifetime in \`std::panic::Location::file\`* We can't remove the lifetime from the struct, but we can make the methods return `'static`. Technically needs a crater run since it changes signatures. The 8472 to reply/mentor. ### (nominated) rust.tf/131861 *Footgun with Rc::assume\_init and related methods* We'll document the current behavior and recommend doing this only when there's a reference count of one. ### (waiting on team) rust.tf/119550 *Rename \`AsyncIterator\` back to \`Stream\`, introduce an AFIT\-based \`AsyncIterator\` trait* Not waiting on us. ### (waiting on team) rust.tf/131391 *Stabilize \`isqrt\` feature* Waiting on FCP ### (new change proposal) rust.tf/libs467 *ACP: add \`least\_significant\_one\` and \`most\_significant\_one\` to integer types and \`NonZero\` types* We like this and will call it `isolate_most_significant_one`. We thought about `isolate_most_significant_bit`, but that would seem to imply isolating a particular fixed bit, not doing a search for a one and isolating that bit. The choice to return the mask directly rather than to return an `Option` of the index of the bit is driven by the use cases. ### (new change proposal) rust.tf/libs466 *ACP: Add nul\-terminated version of \`core::panic::Location::file\`* There's an interesting tradeoff here between making the Linux C code more Rust-like, by adding versions of e.g. `__might_sleep` that take a pointer and a length, or making Rust more C-like by null-terminating all of these compiler-generated `const` strings, at the cost of that extra space. The feeling on the call is that it's not worth making Rust more C-like in this case. We'll ask the RfL people about how it impacts them to add the pointer and length versions of these functions. ### (new change proposal) rust.tf/libs465 *Add Vec::last\_or\_push and friends* ### (new change proposal) rust.tf/libs462 *impl fmt::Write for BufWriter* ### (new change proposal) rust.tf/libs461 *Implement Try for cmp::Ordering* ### (new change proposal) rust.tf/libs460 *ACP: \`Stdin::next\_line\` and \`BufRead::next\_line\`* ### (new change proposal) rust.tf/libs459 *ACP: Expose rustc\_lexer::unescape Functionality in the proc\_macro Crate for Standardized Literal Parsing* ### (new change proposal) rust.tf/libs457 *APC: split\_pattern on slices* ### (new change proposal) rust.tf/libs456 *Add Option::todo and Result::todo* ### (new change proposal) rust.tf/libs455 *slice::Windows::as\_slice* ### (stalled change proposal) rust.tf/libs331 *Support permanently skipping tests on a specific system* ### (stalled change proposal) rust.tf/libs210 *Add associated consts to f32, f64 for mathematical constants* ### (stalled change proposal) rust.tf/libs330 *Add \`net::hostname\` to retrieve the devices host name* ### (stalled change proposal) rust.tf/libs337 *Add \`(checked\_)norem\_div\` methods for integer types* ### (stalled change proposal) rust.tf/libs295 *Create iterator function in std libs: split\_item\_mut()* ### (stalled change proposal) rust.tf/libs230 *Add \`saturating\_shl\` and \`saturating\_shr\` for ints* ### (stalled change proposal) rust.tf/libs332 *Implement ExactSizeIterator for Flatten\<option::IntoIter\<I\>\>* ### (stalled change proposal) rust.tf/libs287 *ACP: Add \`FromByteStr\` trait with blanket impl \`FromStr\`* ### (stalled change proposal) rust.tf/libs296 *ACP: Designing an alternative \`FromStr\`* ### (stalled change proposal) rust.tf/libs148 *Expose raw std{in,out,err}* _Generated by [fully-automatic-rust-libs-team-triage-meeting-agenda-generator](https://github.com/rust-lang/libs-team/tree/main/tools/agenda-generator)_