# Libs-API Meeting 2024-07-16 ###### tags: `Libs Meetings` `Minutes` **Meeting Link**: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr **Attendees**: Amanieu, David, Josh Triplett, Mara, The 8472, Chris Denton ## Agenda - Triage - Anything else? ## Triage ### FCPs 17 rust-lang/rust T-libs-api FCPs - merge rust.tf/80437 *Tracking Issue for \`box\_into\_inner\`* - (1 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* - (3 checkboxes left) - merge rust.tf/106943 *Implement DoubleEnded and ExactSize for Take\<Repeat\> and Take\<RepeatWith\>* - (3 checkboxes left) - merge rust.tf/109402 *Implement owned ops for \`HashSet\` and \`BTreeSet\`* - (3 checkboxes left) - merge rust.tf/101196 *Tracking Issue for \`Ready::into\_inner()\`* - (1 checkboxes left) - merge rust.tf/106418 *Implement \`PartialOrd\` and \`Ord\` for \`Discriminant\`* - (2 checkboxes left) - close rust.tf/56167 *Tracking issue for HashMap::raw\_entry* - (3 checkboxes left) - merge rust.tf/55132 *Tracking issue for thread::Builder::spawn\_unchecked* - (3 checkboxes left) - merge rust.tf/123723 *Make \`std::os::tvos\`, \`std::os::visionos\` and \`std::os::watchos\` public* - (4 checkboxes left) - merge rust.tf/120141 *Tracking Issue for enum access in offset\_of* - (7 checkboxes left) - merge rust.tf/120140 *Tracking Issue for nested field access in offset\_of* - (4 checkboxes left) - close rust.tf/44286 *Tracking issue for HashMap \`OccupiedEntry::{replace\_key, replace\_entry}\`* - (3 checkboxes left) - merge rust.tf/124941 *Stabilize const \`{integer}::from\_str\_radix\` i.e. \`const\_int\_from\_str\`* - (3 checkboxes left) - close rust.tf/116237 *Scoped thread implicit join doesn't wait for thread locals to be dropped* - (3 checkboxes left) - merge rust.tf/126877 *CloneToUninit impls* - (4 checkboxes left) - merge rust.tf/126383 *Tracking Issue for is\_none\_or* - (4 checkboxes left) [m-ou-se (11)](https://rfcbot.rs/fcp/m-ou-se), [Amanieu (5)](https://rfcbot.rs/fcp/Amanieu), [joshtriplett (12)](https://rfcbot.rs/fcp/joshtriplett), [BurntSushi (13)](https://rfcbot.rs/fcp/BurntSushi), [scottmcm (3)](https://rfcbot.rs/fcp/scottmcm), [dtolnay (2)](https://rfcbot.rs/fcp/dtolnay), [yaahc (2)](https://rfcbot.rs/fcp/yaahc), [nikomatsakis (2)](https://rfcbot.rs/fcp/nikomatsakis), [pnkfelix (2)](https://rfcbot.rs/fcp/pnkfelix), [tmandry (1)](https://rfcbot.rs/fcp/tmandry) ### (nominated) rust.tf/libs403 *Add \`RawStatusCode\`* Mara: It's just a type alias and no other API? I don't think it should exist if we don't also ship an exit() api that takes this type. Amanieu: It could be an extension trait on ExitStatus David: ExitStatus can have a method that returns a larger integer. compatible with other platforms just fine. Mara: Seems fine to have a .code64() or w/e Amanieu: Disagree. Nobody will call that unless they specifically expect a large exit code. David: How confident are we that *every* non-UEFI platform will use i32? Josh: Aliases that change meaning per platform are painful Mara: +1. prefer extension trait or new method. Josh: Prefer extension trait. The 8482: We already have that for unix. Josh: For windows too. Consensus: extension trait for uefi. Josh to reply. ### (nominated) rust.tf/75744 *Tracking issue for \`ControlFlow\` enum, for use with \`try\_fold\` and in \`Try\`* Just asking for input on new methods. Not a stablization or anything like that. Mara: Naming seems fine. Josh: do we have other `_value` names in std? Josh: This shouldn't have as many helper methods as Result/Option. Amanieu: ControlFlow doesn't need short names. Consensus: fine as is, as unstable. Mara replied. ### (nominated) rust.tf/rfc3672 *RFC for project goals* ### (waiting on team) rust.tf/119550 *Rename \`AsyncIterator\` back to \`Stream\`, introduce an AFIT\-based \`AsyncIterator\` trait* WG-async ### (waiting on team) rust.tf/124941 *Stabilize const \`{integer}::from\_str\_radix\` i.e. \`const\_int\_from\_str\`* In FCP ### (new change proposal) rust.tf/libs406 *Make \`proc\_macro\` available outside procedural macro generation* Waiting on author ### (new change proposal) rust.tf/libs410 *Change \`std::fs::remove\_dir\_all\` to be idempotent* The 8472: ACP is a breaking change. The 8472: alternative: https://github.com/rust-lang/rust/pull/127623/files Mara: I think accepting the ACP might be fine. Behaviour makes sense. But rejecting the ACP and accepting that PR is also fine to me. Amanieu: Let's merge the PR and close the ACP. Mara: +1 Josh: +1 Amanieu to reply ### (new change proposal) rust.tf/libs411 *ACP: add \`std::any::is\_same\_type::\<T, U\>() \-\> bool\`* Propose `.is::<T>()` instead. Amanieu to reply ### (new change proposal) rust.tf/libs412 *File lock API* ### (new change proposal) rust.tf/libs413 *ACP: add bitwise/bytewise methods to NonZero* ### (stalled change proposal) rust.tf/libs176 *\`Peek\` trait for peekable iterators* ### (stalled change proposal) rust.tf/libs271 *Unix Domain Sockets on Windows* ### (stalled change proposal) rust.tf/libs124 *Integrate \`Error\` trait with panic interfaces* ### (stalled change proposal) rust.tf/libs111 *Restructure ptr\_metadata to minimal support* ### (stalled change proposal) rust.tf/libs181 *\`Cow::map\_borrowed\`, \`Cow::map\_owned\`, and \`Cow::map\`* _Generated by [fully-automatic-rust-libs-team-triage-meeting-agenda-generator](https://github.com/rust-lang/libs-team/tree/main/tools/agenda-generator)_