Skip to content

ndk-glue: Replace ancient lazy_static crate with once_cell#285

Merged
MarijnS95 merged 1 commit intomasterfrom
ndk-glue-once-cell
Jun 10, 2022
Merged

ndk-glue: Replace ancient lazy_static crate with once_cell#285
MarijnS95 merged 1 commit intomasterfrom
ndk-glue-once-cell

Conversation

@MarijnS95
Copy link
Member

Piggybacking on the motivation in winit: lazy_static! is a macro whereas once_cell achieves the same using generics. Its implementation has also been proposed for inclusion in std, making it easier for us to switch to a standardized version if/when that happens. The author of that winit PR is making this change to many more crates, slowly turning the scales in favour of once_cell in our dependency tree too.

Furthermore lazy_static hasn't published any updates for 3 years, and the new syntax is closer for dropping this wrapping completely when the necessary constructors become const (i.e. switching to parking_lot will give us a const fn new() on RwLock) or this feature lands in stable std.

Piggybacking on the [motivation in winit]: `lazy_static!` is a macro
whereas `once_cell` achieves the same using generics.  Its
implementation has also been [proposed for inclusion in `std`], making
it easier for us to switch to a standardized version if/when that
happens.  The author of that winit PR is making this change to many more
crates, slowly turning the scales in favour of `once_cell` in our
dependency tree too.

Furthermore `lazy_static` hasn't published any updates for 3 years, and
the new syntax is closer for dropping this wrapping completely when the
necessary constructors become `const` (i.e. switching to `parking_lot`
will give us a [`const fn new()` on `RwLock`]) or this feature lands in stable
`std`.

[motivation in winit]: rust-windowing/winit#2313
[proposed for inclusion in `std`]: rust-lang/rust#74465
[`const fn new()` on `RwLock`]: https://docs.rs/lock_api/latest/lock_api/struct.RwLock.html#method.new
@MarijnS95 MarijnS95 merged commit fa1672a into master Jun 10, 2022
@MarijnS95 MarijnS95 deleted the ndk-glue-once-cell branch June 10, 2022 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants