Skip to content

Tracking Issue for duration_constructors_lite #140881

Open
@Dietr1ch

Description

@Dietr1ch

Feature gate: #![feature(duration_constructors_lite)]

This is a tracking issue for duration_constructors_lite.

duration_constructors_lite implements the non-controversial bits of duration_constructors.

Public API

  • std::time::Duration
    • from_mins(u64)
    • from_hours(u64)

History

(Remember to update the S-tracking-* label when checking boxes.)

  • Original duration_constructors implementation core: add Duration constructors #120307
    • Adds new Duration constructors from_mins, from_hours, from_days and from_weeks.
    • Daylight savings time coupled with possible confusion between "standard/scientific/stopwatch" time and "civil/human" time makes using from_days and from_weeks wrong too easy.
    • Without a CivilDuration type to disambiguate Duration as the "standard/scientific" time duration its safer to avoid introducing from_days and from_weeks even if Duration explicitly aims to model "standard/scientific".

Steps

  • Implementation: #140882
  • Final comment period (FCP)1
  • Stabilization PR

Unresolved Questions

  • Best way to implement from_days and other larger quantities in the future.
    • It seems we need a Civil time type in std to help avoid mis-interpreting std::time::Duration.

Misc

I want to thank all folks who participated in #120301. It's not fun to argue online for so long, but very much needed to grow the language in a sound way as it's even harder to undo mistakes.

Footnotes

  1. https://std-dev-guide.rust-lang.org/feature-lifecycle/stabilization.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCS-tracking-unimplementedStatus: The feature has not been implemented.T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.disposition-mergeThis issue / PR is in PFCP or FCP with a disposition to merge it.proposed-final-comment-periodProposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions