Skip to content

Commit 02ac7b3

Browse files
committed
refactor: replace lazy_static! with std::sync::LazyLock
1 parent 1b921c8 commit 02ac7b3

File tree

2 files changed

+12
-17
lines changed

2 files changed

+12
-17
lines changed

Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ members = ["macros"]
1717

1818
[dependencies]
1919
cmd_lib_macros = { version = "1.9.6", path = "./macros" }
20-
lazy_static = "1.4.0"
2120
log = "0.4.20"
2221
faccess = "0.2.4"
2322
os_pipe = "1.1.4"

src/process.rs

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ use crate::io::{CmdIn, CmdOut};
44
use crate::{debug, warn};
55
use crate::{CmdResult, FunResult};
66
use faccess::{AccessMode, PathExt};
7-
use lazy_static::lazy_static;
87
use os_pipe::{self, PipeReader, PipeWriter};
98
use std::cell::Cell;
109
use std::collections::HashMap;
@@ -72,21 +71,18 @@ impl CmdEnv {
7271

7372
type FnFun = fn(&mut CmdEnv) -> CmdResult;
7473

75-
lazy_static! {
76-
static ref CMD_MAP: Mutex<HashMap<OsString, FnFun>> = {
77-
// needs explicit type, or it won't compile
78-
let mut m: HashMap<OsString, FnFun> = HashMap::new();
79-
m.insert("echo".into(), builtin_echo);
80-
m.insert("trace".into(), builtin_trace);
81-
m.insert("debug".into(), builtin_debug);
82-
m.insert("info".into(), builtin_info);
83-
m.insert("warn".into(), builtin_warn);
84-
m.insert("error".into(), builtin_error);
85-
m.insert("".into(), builtin_empty);
86-
87-
Mutex::new(m)
88-
};
89-
}
74+
static CMD_MAP: LazyLock<Mutex<HashMap<OsString, FnFun>>> = LazyLock::new(|| {
75+
let mut m: HashMap<OsString, FnFun> = HashMap::new();
76+
m.insert("echo".into(), builtin_echo);
77+
m.insert("trace".into(), builtin_trace);
78+
m.insert("debug".into(), builtin_debug);
79+
m.insert("info".into(), builtin_info);
80+
m.insert("warn".into(), builtin_warn);
81+
m.insert("error".into(), builtin_error);
82+
m.insert("".into(), builtin_empty);
83+
84+
Mutex::new(m)
85+
});
9086

9187
#[doc(hidden)]
9288
pub fn register_cmd(cmd: &'static str, func: FnFun) {

0 commit comments

Comments
 (0)