# Libs-API Meeting 2022-06-22
###### tags: `Libs Meetings` `Minutes`
**Meeting Link**: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr
**Attendees**: Amanieu, David, Josh Triplett, Mara, thomcc, Chris Denton, Don Gohman, The 8472, J Haigh
## Agenda
- Triage
- Anything else?
## Triage
### FCPs
18 open T-libs-api FCPs:
<details><summary><a href="https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-libs-api+label%3Aproposed-final-comment-period">18 <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.* - (1 checkboxes left)
- [[merge 89780](https://github.com/rust-lang/rust/issues/89780#issuecomment-1057495167)] *Tracking Issue for poll.ready()?* - (4 checkboxes left)
- [[merge 94786](https://github.com/rust-lang/rust/issues/94786#issuecomment-1064599953)] *Document NonZeroXxx layout guarantees* - (2 checkboxes left)
- [[merge 97300](https://github.com/rust-lang/rust/issues/97300#issuecomment-1134102126)] *Implement \`FusedIterator\` for \`std::net::\[Into\]Incoming\`* - (3 checkboxes left)
- [[merge 88581](https://github.com/rust-lang/rust/issues/88581#issuecomment-1118123560)] *Tracking Issue for \`int\_roundings\`* - (1 checkboxes left)
- [[merge 80437](https://github.com/rust-lang/rust/issues/80437#issuecomment-1125982498)] *Tracking Issue for \`box\_into\_inner\`* - (2 checkboxes left)
- [[merge 97712](https://github.com/rust-lang/rust/issues/97712#issuecomment-1146735882)] *ptr::copy and ptr::swap are doing untyped copies* - (4 checkboxes left)
- [[merge 67644](https://github.com/rust-lang/rust/issues/67644#issuecomment-1150164835)] *Tracking issue for \`IntoFuture\`* - (3 checkboxes left)
- [[merge 97915](https://github.com/rust-lang/rust/issues/97915#issuecomment-1153095373)] *Implement \`fmt::Write\` for \`OsString\`* - (3 checkboxes left)
- [[merge 93857](https://github.com/rust-lang/rust/issues/93857#issuecomment-1153096814)] *Tracking Issue for process\_set\_process\_group* - (3 checkboxes left)
- [[merge 91946](https://github.com/rust-lang/rust/issues/91946#issuecomment-1159353256)] *Tracking Issue for \`io::Error::other\`* - (5 checkboxes left)
- [[merge 72302](https://github.com/rust-lang/rust/issues/72302#issuecomment-1160125883)] *Tracking Issue for feature \`future\_poll\_fn\`* - (5 checkboxes left)
- [[merge 93050](https://github.com/rust-lang/rust/issues/93050#issuecomment-1160222768)] *Tracking Issue for Option::is\_some\_and and Result::is\_{ok,err}\_and* - (5 checkboxes left)
- [[merge 97373](https://github.com/rust-lang/rust/issues/97373#issuecomment-1160385654)] *impl DispatchFromDyn for Cell and UnsafeCell* - (4 checkboxes left)
- [[merge 98314](https://github.com/rust-lang/rust/issues/98314#issuecomment-1160862527)] *Tracking Issue for feature(core\_c\_str) and feature(alloc\_c\_string)* - (4 checkboxes left)
- [[merge 98383](https://github.com/rust-lang/rust/issues/98383#issuecomment-1162975157)] *Remove restrictions on compare\-exchange memory ordering.* - (5 checkboxes left)
- [[merge 95965](https://github.com/rust-lang/rust/issues/95965#issuecomment-1163104572)] *Stabilize const\-weak\-new* - (5 checkboxes left)
</details>
<p></p>
[m-ou-se (8)](https://rfcbot.rs/fcp/m-ou-se), [BurntSushi (12)](https://rfcbot.rs/fcp/BurntSushi), [yaahc (10)](https://rfcbot.rs/fcp/yaahc), [joshtriplett (6)](https://rfcbot.rs/fcp/joshtriplett), [Amanieu (14)](https://rfcbot.rs/fcp/Amanieu), [dtolnay (6)](https://rfcbot.rs/fcp/dtolnay)
### Nominated
- [5 `rust-lang/rust` `I-libs-api-nominated` items](https://github.com/rust-lang/rust/issues?q=label:I-libs-api-nominated+is:open)
- [[67644](https://github.com/rust-lang/rust/issues/67644)] *Tracking issue for \`IntoFuture\`*
- FCP started
- Nothing to discuss.
- [[78515](https://github.com/rust-lang/rust/pull/78515)] *Switchable buffering for Stdout*
- Josh: Use a generic parameter to pick the behaviour?
- (Discussion about whether to pick block buffering for stdout automatically for !isatty.)
- Amanieu: Prefer merging the behavior into BufWriter. Overhead should be minimal.
- Mara: :+1:
- (Discussion on how much the overhead might be.)
- LineWriter is already public.
- We could add the switchable behaviour to LineWriter instead. (And its writes are already more expensive because it needs to scan for `'\n'`.)
- We could ask the author to split the line buffer behaviour from stdout buffer mode switching. E.g. ask for a new method on LineWriter to disable line buffering, and a method to change the buffer capacity on BufWriter and LineWriter. And a separate PR for a function just to switch stdout. Or just keep SwitchWriter private.
- Instead of `{immediate|block|line}`, have `({block|line}, buffer_size)`? Josh, David, Amanieu: More user friendly to keep `immediate`.
- Allowing to set a buffer size is still good.
- If we have both `Immediate` and `Block(0)`, are those equal? If you set one and get it back, do you get the same one back?
- Ask the author to split the stdout api proposal off.
- Mara to reply.
- [[89780](https://github.com/rust-lang/rust/issues/89780)] *Tracking Issue for poll.ready()?*
- `.ready()?` vs `ready!(_)`.
- `.ready()` and `.ready()??` might both be confusing. `.ready()` without `?` is mostly meaningless.
- David: macros are bad for code-formatting tools. `select!()` has been a nightmare.
- David: not worried about `.ready()??`, because splitting into a separate variable is easy.
- `ready!()` inmplementation is easy to read, while `.ready()?` impl takes a new type and trait implementations that are more complicated to read.
- Technically we could have both.
- Ask async-wg: we need more input / a recommendation.
- Mara to ask async-wg.
- [[95290](https://github.com/rust-lang/rust/pull/95290)] *Document that \`OsString\` and \`OsStr\` are bytes; provide conversions to bytes*
- [[95295](https://github.com/rust-lang/rust/pull/95295)] *Enforce that layout size fits in isize in Layout*
- Seems okay? FCP?
- FWIW, lang said ok in https://github.com/rust-lang/rust/pull/95295#issuecomment-1097011792
- [[64797](https://github.com/rust-lang/rust/issues/64797)] *Tracking issue for RFC 2523, `#[cfg(accessible(::path::to::thing))]`*
- [1 `rust-lang/rfcs` `I-libs-api-nominated` items](https://github.com/rust-lang/rfcs/issues?q=label:I-libs-api-nominated+is:open)
- [[3127](https://github.com/rust-lang/rfcs/pull/3127)] *New rustc and Cargo options to allow path sanitisation by default*
### Waiting on team
- [1 `rust-lang/rust` `T-libs-api` `S-waiting-on-team` items](https://github.com/rust-lang/rust/issues?q=label:T-libs-api+label:S-waiting-on-team+is:open)
- [[98174](https://github.com/rust-lang/rust/pull/98174)] *Rename \`\<\*{mut,const} T\>::as\_{const,mut}\` to \`cast\_\`*
### 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)
- [[55132](https://github.com/rust-lang/rust/issues/55132)] *Tracking issue for thread::Builder::spawn\_unchecked*
- [[41758](https://github.com/rust-lang/rust/issues/41758)] *Tracking issue for Vec::resize\_with and resize\_default*
FCP finished. Should be merged?
- [[66893](https://github.com/rust-lang/rust/issues/66893)] *Tracking issue for atomic\_mut\_ptr*
- [[71503](https://github.com/rust-lang/rust/issues/71503)] *Tracking Issue for binary heap retain*
- [[72505](https://github.com/rust-lang/rust/issues/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)_