Skip to content

Replace once_cell dependency with std LazyLock and OnceLock #721

@abd0-omar

Description

@abd0-omar

What is the problem your feature solves, or the need it fulfills?

once_cell provides lazy initialization primitives (Lazy, OnceCell). It's now in the standard library as LazyLock and OnceLock.
Continuing to use once_cell adds an unnecessary external dependency when the same functionality is now available natively in Rust's standard library.

Describe the solution you'd like

replace all it's usages with the standard library equivalents as it will be a 1 to 1 replacement:

  • once_cell::sync::Lazy -> std::sync::LazyLock
  • once_cell::sync::OnceCell -> std::sync::OnceLock

except for try_insert(), found in pingora-runtime/src/lib.rs, as it is not stable yet issue, it's alternative would be doing set() then get().unwrap() till it gets stabilized.

Describe alternatives you've considered

Keep using once_cell

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions