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