# Libs-API Meeting 2022-08-16 ###### tags: `Libs Meetings` `Minutes` **Meeting Link**: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr **Attendees**: Amanieu, David, Jane, Josh Triplett, Mara, The 8472, tshepang, vincenzopalazzo, Urgau ## Agenda - Triage - Anything else? ## Triage ### FCPs 20 rust-lang/rust T-libs-api FCPs [dtolnay (5)](https://rfcbot.rs/fcp/dtolnay), [yaahc (13)](https://rfcbot.rs/fcp/yaahc), [m-ou-se (8)](https://rfcbot.rs/fcp/m-ou-se), [joshtriplett (7)](https://rfcbot.rs/fcp/joshtriplett), [BurntSushi (13)](https://rfcbot.rs/fcp/BurntSushi), [Amanieu (7)](https://rfcbot.rs/fcp/Amanieu) ### Nominated - [9 `rust-lang/rust` `I-libs-api-nominated` items](https://github.com/rust-lang/rust/issues?q=label:I-libs-api-nominated+is:open) - rust.tf/64102 *Tracking issue for \`std::hint::black\_box\`* - Plenty of checkboxes to continue. - We can stop this FCP and do a proper libs-api. - rust.tf/97015 *std::io: migrate ReadBuf to BorrowBuf/BorrowCursor* - New ReadBuf API - Question about naming. `.clone()` could be confusing - It's unstable for now, so doesn't matter too much. But maybe use `reborrow` rather than `clone()`. Using `clone` for non-Clone seems bad. - Commented that `reborrow` sounds reasonable. - rust.tf/99032 *Disable unwinding for \`catch\_unwind\` error payloads.* - Quite a hack. - Somewhat similar to David's "two vtables" suggestion from a while ago, but more hacky. - If we disallow panic in drop, we could revert this. - Doesn't seem urgent. - David to take a look, probably. - rust.tf/99138 *Extend and expose API for {:x?} and {:X?} formatting* - instead introduce flags for derive(Debug)? "print this field as hex" - Mara to write up a summary of how `x?` currently works and what's wrong with it. - rust.tf/99898 *typeck: silence lint for "collision safe" items* - Mara should've replied, didn't yet. oops. - rust.tf/100196 *env::temp\_dir returns /private/tmp on Apple instead while /tmp is* - De-nominated. Waiting for reply about use case. - rust.tf/100422 *What's the correct \*wrapping\* value for \`ilog{|2|10}\`?* - Seems like we should handle this identical to division by zero. It's not just an overflow, it's mathematically undefined. - Registered a concern in the FCP. - rust.tf/100545 *regression: transmute\_copy validates sizing* - It seems like this panic could trigger for sound code that puts some struct into a larger allocation. E.g. T is a C struct with a (imaginary) variable size last field. - Such a thing should probably be written with ptr::read, though. - Looks like this caught real issues - Did it catch anything that was actually sound? - Probably should've gone through some kind of FCP, but probably not worth reverting. - rust.tf/100551 *regression: socket type changes* - Maybe Cargo should know about the broken crates and warn about it? - Just having them yanked might not be strong enough? - Based on analysis in the original issue, it's extremely likely that you'll just get an error from a syscall that gets a pointer to the updated types, since it doesn't look like the expected data. - Crater results show 'invalid arguments'. - Release notes might be good enough, since it doesn't seem to cause silent UB. ### 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) - rust.tf/79676 *Tracking Issue for \`backtrace\_frames\`* - rust.tf/42839 *Peer credentials on Unix socket* - rust.tf/55132 *Tracking issue for thread::Builder::spawn\_unchecked* - rust.tf/66893 *Tracking issue for atomic\_mut\_ptr* - rust.tf/72505 *Tracking issue for \`#!\[feature(const\_float\_classify)\]\`* ## 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)_