# 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)_