Try   HackMD

Libs-API Meeting 2023-08-29

tags: Libs Meetings Minutes

Meeting Link: https://meet.jit.si/rust-libs-meeting-crxoz2at8hiccp7b3ixf89qgxfymlbwr
Attendees: Amanieu, David, Mara, The 8472, Urgau, wayne

Agenda

  • Triage
  • Anything else?

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/libs155 Arbitrary alternate flags in `std::fmt::Formatter`

(stalled change proposal) rust.tf/libs124 Integrate `Error` trait with panic interfaces

(stalled change proposal) rust.tf/libs111 Restructure ptr_metadata to minimal support

Generated by fully-automatic-rust-libs-team-triage-meeting-agenda-generator