Libs-API Meeting 2023-08-29
Meeting Link: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr
Attendees: Amanieu, David, Mara, The 8472, Urgau, wayne
Agenda
Triage
FCPs
1 rust-lang/rfcs T-libs-api FCPs
- merge rust.tf/rfc3453 Add `f16` and `f128` float types - (5 checkboxes left)
13 rust-lang/rust T-libs-api FCPs
- merge rust.tf/80437 Tracking Issue for `box_into_inner` - (1 checkboxes left)
- merge rust.tf/52331 Correcting Path::components on Redox - (5 checkboxes left)
- merge rust.tf/82901 Tracking Issue for `Option::get_or_insert_default` - (2 checkboxes left)
- merge rust.tf/83871 Tracking Issue for CharIndices::offset function - (3 checkboxes left)
- merge rust.tf/99262 Tracking Issue for `io_error_downcast` - (4 checkboxes left)
- merge rust.tf/106655 Tracking Issue for `#![feature(offset_of)]` - (0 checkboxes left)
- merge rust.tf/107587 Mark `std` integral modules as deprecated (`std::u32`, `std::i16`, etc.) - (3 checkboxes left)
- merge rust.tf/62726 Tracking issue for io_slice_advance - (3 checkboxes left)
- merge rust.tf/80552 Tracking Issue for the GroupBy and GroupByMut iterators - (3 checkboxes left)
- merge rust.tf/85528 Implement iterator specialization traits on more adapters - (4 checkboxes left)
- merge rust.tf/114986 FCP process: Require 2/3 majority for FCP - (5 checkboxes left)
- merge rust.tf/106418 Implement `PartialOrd` and `Ord` for `Discriminant` - (1 checkboxes left)
- merge rust.tf/115108 Fix exit status / wait status on non-Unix cfg(unix) platforms - (3 checkboxes left)
joshtriplett (4), Amanieu (5), m-ou-se (9), BurntSushi (7), dtolnay (5)
(nominated) rust.tf/85122 Tracking Issue for inherent unchecked integer methods
Waiting on Mara to reply from last meeting.
(nominated) rust.tf/91345 Tracking Issue for `result_option_inspect`
Waiting on Mara to reply from last meeting.
(nominated) rust.tf/111090 Tracking Issue for const `[u8]::is_ascii` (`const_slice_is_ascii`)
FCP ongoing. Nominated label removed.
(nominated) rust.tf/114564 Attempt to describe the intent behind the `From` trait further
Waiting on author. Removed nominated label.
Seems fine after applying Josh's suggestion.
Amanieu to comment.
(nominated) rust.tf/114737 `std::process::Command::env_clear` is unusable on Windows
Pinged windows ping group with the question.
(nominated) rust.tf/114780 add more explicit I/O safety documentation
Amanieu: We should make clear that uniquely owning a fd does not mean uniquely owning the underlying file.
Mara: text already says underlying "file description" is not unique.
Mara: https://github.com/nix-rust/nix/issues/1421 is relevant. close(123) is no longer safe under these rules.
Mara: nix::unistd::close is still a safe function today.. but it's nearly impossible to write a safe library if you have to assume another library can randomly close (and reopen) your file descriptors..
Amanieu: I'll read through it. It's on Josh's review queue.
(waiting on team) rust.tf/87920 Tracking Issue for `Saturating` type
Waiting for FCP to complete
(waiting on team) rust.tf/114149 `read_dir` has unexpected behavior for `""`
Discussed before, but didn't reach consensus. (Some of us wanted "" to work for the CWD, others didn't want "" to work.)
Mara left a comment a few weeks ago with her perspective.
The 8472 to write up the opposing perspective.
David: Either way, a change is necessary. (Either fix on Windows or make "" work on Unix.)
(new change proposal) rust.tf/libs256 Add a `CStr::len()` method
Discussed last time. Mara replied earlier today.
(new change proposal) rust.tf/libs257 Implement `From<&'a &'static str>` for `Arguments<'a>`
Mara: I implemented a new fmt::Arguments that supports Arguments::from_str(&str). Still tweaking perf. Can merge that soon.
David: When would we stabilize that?
Mara: We should leave it unstable for a few months, while I try out a few more fmt::Arguments implementations. But I'm pretty confident we should always support Arguments::from_str.
(new change proposal) rust.tf/libs259 Add openat/unlinkat/etc. abstractions to ReadDir/DirEntry/OpenOptions
(new change proposal) rust.tf/libs260 Include MappedRwLocKWriteGuard from lock_api or parking_lot
[Discussion about use cases]
Amanieu: I've used it twice
David: I just write a wrapper struct. The API of a guard is very very small.
Amanieu: I'm in favor of adding it. It's not obvious how to write it yourself.
Mara: You can't write it safely yourself.
Amanieu: right
Mara: lock_api has map
and try_map
. Do we need both?
Amanieu: probably.
Mara: Not convinced we need this. What's wrong with writing your own wrapper, keeping the original guard?
Amanieu: Then you might have to expose generic args that you don't want to expose.
Mara: Right.
Mara: Not fully convinced, but adding as unstable is fine with me.
Amanieu to reply.
(new change proposal) rust.tf/libs261 add `write_fmt` method to String, to make `write!` macro work without imports
(stalled change proposal) rust.tf/libs152 Feature item_find_many
(stalled change proposal) rust.tf/libs156 &mut [MaybeUninit<T>]: Fill with value or with closure.
(stalled change proposal) rust.tf/libs124 Integrate `Error` trait with panic interfaces
Generated by fully-automatic-rust-libs-team-triage-meeting-agenda-generator