mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 12:21:58 +00:00
The `NonNull` shim in `oxc_data_structures` was just to emulate native APIs which only became stable in Rust 1.80.0. #8407 bumped our MSRV to 1.80.0, so now we can remove the shim and use `std::ptr::NonNull` directly.
19 lines
656 B
Rust
19 lines
656 B
Rust
//! Contains the following FILO data structures:
|
|
//!
|
|
//! * [`Stack`]: A growable stack, equivalent to [`Vec`], but more efficient for stack usage (push/pop).
|
|
//! * [`NonEmptyStack`]: A growable stack that can never be empty, allowing for more efficient operations
|
|
//! (very fast `last` / `last_mut`).
|
|
//! * [`SparseStack`]: A growable stack of `Option`s, optimized for low memory usage when many entries in
|
|
//! the stack are empty (`None`).
|
|
|
|
mod capacity;
|
|
mod common;
|
|
mod non_empty;
|
|
mod sparse;
|
|
mod standard;
|
|
|
|
use capacity::StackCapacity;
|
|
use common::StackCommon;
|
|
pub use non_empty::NonEmptyStack;
|
|
pub use sparse::SparseStack;
|
|
pub use standard::Stack;
|