Try   HackMD

Libs-API Meeting 2023-04-04

tags: Libs Meetings Minutes

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

Agenda

  • Triage
  • Library team meetup
  • Triaging ACPs in weekly meetings?
  • Anything else?

Triage

(nominated) rust.tf/54140 Tracking Issue: Procedural Macro Diagnostics (RFC 1566)

New design idea (from Esteban and Mara) here: https://github.com/rust-lang/rust/issues/54140#issuecomment-1487529341

Open question: silencing warnings/notes? Some thoughts here: https://github.com/rust-lang/rust/issues/54140#issuecomment-1488547390

David: clippy already has many warnings that aren't of the highest quality, what should we expect from proc macros from the ecosystem?

Do we need a top level "note"? Maybe that should be "trace" or "debug" if that's how it's intended to be used?

Main reason people want this today is because of warnings/notes, as errors are already possible with a hack. So only stabilizing error() doesn't help that much.

'handle' style API seems good. Only open question is the lint/suppression question.

David: the lint!(just_the_name) idea could work. Documentation could just be a doc comment on the static item.

Open question on how to namespace lints from proc macros. E.g. #[allow(clippy::blah)] doesn't refer to the create "clippy".

(nominated) rust.tf/109660 Document that SystemTime does not count leap seconds

This is true on most (all?) operating systems, but do we want to guarantee that?

We do define it as a unix timestamp, which doesn't include leap seconds..

Converting a SystemTime to an actual date+time means subtracting UNIX_EPOCH and interpreting the Duration, assuming no leap seconds. So crates already assume this.

SystemTimes can be created for the future, and we don't know the future leap seconds yet.

:+1: no leap seconds.

(nominated) rust.tf/rfc3240 Edition Based Method Disambiguation: Preventing inference ambiguity breakages with extension trait methods

Postponed until the in-person meetup.

(nominated) rust.tf/rfc3362 Command improvements for ergonomics and error handling

No updates. To be discussed in the in-person meetup.

(nominated) rust.tf/rfc3365 RFC: re-export stdlib macros from submodules

Discussed last time. Posted the conclusion an hour ago.

(waiting-on-team) rust.tf/99262 Tracking Issue for `io_error_downcast`

Just needs a @bors rfc merge?

David to check the thread before starting FCP.

Triaging ACPs in weekly meetings?

We don't have a good process for closing an ACP. And we don't define a time for the 'initial commenting period'.

Let's update docs and processes during the in-person meetup.

Maybe just re-use the MCP tooling that the lang+compiler team already use.

FCPs

1 rust-lang/rfcs T-libs-api FCP

11 rust-lang/rust T-libs-api FCPs

  • merge rust.tf/107624 Stabilize `const_cstr_methods` - (3 checkboxes left)
  • merge rust.tf/88581 Tracking Issue for `int_roundings` - (1 checkboxes left)
  • merge rust.tf/80437 Tracking Issue for `box_into_inner` - (1 checkboxes left)
  • merge rust.tf/91946 Tracking Issue for `io::Error::other` - (3 checkboxes left)
  • merge rust.tf/98461 Document lack of panic safety guarantees of `Clone::clone_from` - (0 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 - (4 checkboxes left)
  • close rust.tf/51540 Tracking issue for the #[alloc_error_handler] attribute (for no_std + liballoc) - (3 checkboxes left)
  • merge rust.tf/88989 Tracking Issue for #![feature(unix_chown)] - (4 checkboxes left)
  • merge rust.tf/102341 Implement `Neg` for signed non-zero integers. - (3 checkboxes left)

1 rust-lang/stdarch T-libs-api FCP