# Libs-API Meeting 2022-03-02 ###### tags: `Libs Meetings` `Minutes` **Meeting Link**: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr **Attendees**: David, Jane, Josh, Mara, Mark, Jubilee, The 8472, scottmcm, bstrie, Urgau ## Agenda - [Open action items](https://hackmd.io/ovrbJj6CRduRgSA0Wzg2zg) - [Libs team wishlist](https://hackmd.io/HPjGPC09RayylxGeaIfTew) - libs and lang roadmaps - https://hackmd.io/JGhj3CFJSmuDvpiPxbWaTQ - https://hackmd.io/UawuryT2SRuJ8GqEjdaQ_g?both - Triage - Anything else? ## Triage ### FCPs 7 open T-libs-api FCPs: <details><summary><a href="https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AT-libs-api+label%3Aproposed-final-comment-period">1 <code>rust-lang/rfcs</code> FCPs</a></summary> - [[merge 3192](https://github.com/rust-lang/rfcs/issues/3192#issuecomment-1015775980)] *Add provide\_any module to core* - (4 checkboxes left) </details> <details><summary><a href="https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-libs-api+label%3Aproposed-final-comment-period">5 <code>rust-lang/rust</code> FCPs</a></summary> - [[merge 89238](https://github.com/rust-lang/rust/issues/89238#issuecomment-927177703)] *deprecate f{32,64}::DIGITS* - (1 checkboxes left) - [[merge 90291](https://github.com/rust-lang/rust/issues/90291#issuecomment-955599591)] *Loosen the bound on the Debug implementation of Weak.* - (2 checkboxes left) - [[merge 91789](https://github.com/rust-lang/rust/issues/91789#issuecomment-1026130086)] *Tracking Issue for try\_reserve method on more containers* - (4 checkboxes left) - [[merge 93840](https://github.com/rust-lang/rust/issues/93840#issuecomment-1034327897)] *Stabilize Termination and ExitCode* - (3 checkboxes left) - [[merge 88581](https://github.com/rust-lang/rust/issues/88581#issuecomment-1054642132)] *Tracking Issue for \`int\_roundings\`* - (4 checkboxes left) </details> <details><summary><a href="https://github.com/rust-lang/stdarch/issues?q=is%3Aopen+label%3AT-libs-api+label%3Aproposed-final-comment-period">1 <code>rust-lang/stdarch</code> FCPs</a></summary> - [[merge 1285](https://github.com/rust-lang/stdarch/issues/1285#issuecomment-1054497120)] *Add the rdm target feature to the sqrdmlsh intrinsic.* - (5 checkboxes left) </details> <p></p> [BurntSushi (7)](https://rfcbot.rs/fcp/BurntSushi), [m-ou-se (4)](https://rfcbot.rs/fcp/m-ou-se), [dtolnay (3)](https://rfcbot.rs/fcp/dtolnay), [yaahc (3)](https://rfcbot.rs/fcp/yaahc), [joshtriplett (3)](https://rfcbot.rs/fcp/joshtriplett), [Amanieu (3)](https://rfcbot.rs/fcp/Amanieu) ### Nominated - [4 `rust-lang/rust` `T-libs-api` `I-libs-api-nominated` items](https://github.com/rust-lang/rust/issues?q=label:T-libs-api+label:I-libs-api-nominated+is:open) - [[65225](https://github.com/rust-lang/rust/issues/65225)] *Tracking issue for \`#!\[feature(entry\_insert)\]\`* - This got unstabilized - https://github.com/rust-lang/rust/pull/90345#issuecomment-1042892546 - Ask for a counterproposal. Maybe the EntryRef that was proposed on 26 october on the tracking issue. - [[94026](https://github.com/rust-lang/rust/issues/94026)] *\`Hasher::write\` should clarify its "whole unit" behaviour* - Discussed it last two weeks. Amanieu to reply. - [[94079](https://github.com/rust-lang/rust/pull/94079)] *\[Draft\] library: Move \`CStr\` to libcore, and \`CString\` to liballoc* - Discussed in libs meeting an hour ago. Lang item for now, and later we can discuss a more consistent proposal for all for all of the methods that we impl in the 'wrong' crate. Starting on a different solution for that right now only for CStr leaves things in an inconsistent state. - [[94507](https://github.com/rust-lang/rust/issues/94507)] *regression: Display and Debug for ErrorKind* - Discussed in libs meeting an hour ago. Acceptable/expected regression. ### Waiting on team None ### Needs decision None ### Stalled Tracking Issues - [30 `rust-lang/rust` `T-libs-api` `C-tracking-issue` items](https://github.com/rust-lang/rust/issues?q=label:T-libs-api+label:C-tracking-issue+is:open+sort:updated-asc) - [[72505](https://github.com/rust-lang/rust/issues/72505)] *Tracking issue for \`#!\[feature(const\_float\_classify)\]\`* - [[26350](https://github.com/rust-lang/rust/issues/26350)] *Clarify story on libm bindings* - Different implementations (glibc/msvc/etc.) are inconsistent with eachother. If we want to provide these during const eval, we can't assume that those implementations do the same thing. We might want to have our own consistent implementation. - Having our own implementation means we can move all the methods into core. - Not much we can do, but we can state that having our own impl is a valid option so someone can work on it. - Maybe we can start with a subset, such as just sqrt or something. - The 8472: We could have separate exact+const versions that are slow but usable during const eval. - Downsides of having our own impl: - We have to maintain it. - Programs might end up having duplicate impls, one from the C runtime and one from us. - Jubilee: When combined with std::simd, offering our own impls can include potentially significant gains in places where these are much more underdeveloped APIs, like libmvec. - [[29553](https://github.com/rust-lang/rust/issues/29553)] *Tracking issue for #\[bench\] and benchmarking support* - [[41263](https://github.com/rust-lang/rust/issues/41263)] *Tracking issue for \`ToOwned::clone\_into\` (\`toowned\_clone\_into\`)* - FCP in 2018, but cancelled because it seemed to need more design work. - This is used in the implementation of Cow. - David: Seems ready for FCP. - [[71213](https://github.com/rust-lang/rust/issues/71213)] *Tracking Issue for \`wasi\_ext\`* ### Other things that came up - {f32,f64}::mul_add does `fma` rather than `fmul_add`, which guarantees that it does one rounding, rather than potentially two. - We might be able to change this. - Maybe just add `mul_add_fast` so we can keep the existing function unmodified. - Given the doc guarantee of "with only one rounding error", changing it seems discouraged (especially if we'd just end up adding another method for that semantic instead) ## Actions - [ ] Reply to all issues/PRs discussed in this meeting, or add them to the [open action items](https://hackmd.io/ovrbJj6CRduRgSA0Wzg2zg). _Generated by [fully-automatic-rust-libs-team-triage-meeting-agenda-generator](https://github.com/rust-lang/libs-team/tree/main/tools/agenda-generator)_