bootstrap: once_cell::sync::Lazy -> std::sync::LazyLock

This commit is contained in:
Pavel Grigorenko 2024-07-07 21:58:59 +03:00
parent 0ca92de473
commit 8076a33fb7
4 changed files with 5 additions and 11 deletions

View File

@ -54,7 +54,6 @@ dependencies = [
"junction",
"libc",
"object",
"once_cell",
"opener",
"pretty_assertions",
"semver",

View File

@ -49,7 +49,6 @@ home = "0.5"
ignore = "0.4"
libc = "0.2"
object = { version = "0.32", default-features = false, features = ["archive", "coff", "read_core", "unaligned"] }
once_cell = "1.19"
opener = "0.5"
semver = "1.0"
serde = "1.0"

View File

@ -8,6 +8,7 @@ use std::fs;
use std::hash::Hash;
use std::ops::Deref;
use std::path::{Path, PathBuf};
use std::sync::LazyLock;
use std::time::{Duration, Instant};
use crate::core::build_steps::tool::{self, SourceType};
@ -27,8 +28,6 @@ use crate::utils::exec::{command, BootstrapCommand};
pub use crate::Compiler;
use clap::ValueEnum;
// FIXME: replace with std::lazy after it gets stabilized and reaches beta
use once_cell::sync::Lazy;
#[cfg(test)]
mod tests;
@ -498,7 +497,7 @@ impl StepDescription {
enum ReallyDefault<'a> {
Bool(bool),
Lazy(Lazy<bool, Box<dyn Fn() -> bool + 'a>>),
Lazy(LazyLock<bool, Box<dyn Fn() -> bool + 'a>>),
}
pub struct ShouldRun<'a> {
@ -529,7 +528,7 @@ impl<'a> ShouldRun<'a> {
}
pub fn lazy_default_condition(mut self, lazy_cond: Box<dyn Fn() -> bool + 'a>) -> Self {
self.is_really_default = ReallyDefault::Lazy(Lazy::new(lazy_cond));
self.is_really_default = ReallyDefault::Lazy(LazyLock::new(lazy_cond));
self
}

View File

@ -9,10 +9,7 @@ use std::marker::PhantomData;
use std::mem;
use std::ops::Deref;
use std::path::PathBuf;
use std::sync::Mutex;
// FIXME: replace with std::lazy after it gets stabilized and reaches beta
use once_cell::sync::Lazy;
use std::sync::{LazyLock, Mutex};
use crate::core::builder::Step;
@ -196,7 +193,7 @@ impl Interner {
}
}
pub static INTERNER: Lazy<Interner> = Lazy::new(Interner::default);
pub static INTERNER: LazyLock<Interner> = LazyLock::new(Interner::default);
/// This is essentially a `HashMap` which allows storing any type in its input and
/// any type in its output. It is a write-once cache; values are never evicted,