mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-11-16 01:38:13 +00:00
Auto merge of #15542 - Veykril:std-once, r=Veykril
Less `once_cell` more `std`
This commit is contained in:
commit
ce650ce19d
7 changed files with 14 additions and 15 deletions
1
Cargo.lock
generated
1
Cargo.lock
generated
|
@ -854,7 +854,6 @@ version = "0.0.0"
|
|||
dependencies = [
|
||||
"dashmap",
|
||||
"hashbrown 0.12.3",
|
||||
"once_cell",
|
||||
"rustc-hash",
|
||||
"triomphe",
|
||||
]
|
||||
|
|
|
@ -8,7 +8,8 @@
|
|||
//! name resolution, and `BUILTIN_ATTRIBUTES` is almost entirely unchanged from the original, to
|
||||
//! ease updating.
|
||||
|
||||
use once_cell::sync::OnceCell;
|
||||
use std::sync::OnceLock;
|
||||
|
||||
use rustc_hash::FxHashMap;
|
||||
|
||||
/// Ignored attribute namespaces used by tools.
|
||||
|
@ -29,7 +30,7 @@ pub struct AttributeTemplate {
|
|||
}
|
||||
|
||||
pub fn find_builtin_attr_idx(name: &str) -> Option<usize> {
|
||||
static BUILTIN_LOOKUP_TABLE: OnceCell<FxHashMap<&'static str, usize>> = OnceCell::new();
|
||||
static BUILTIN_LOOKUP_TABLE: OnceLock<FxHashMap<&'static str, usize>> = OnceLock::new();
|
||||
BUILTIN_LOOKUP_TABLE
|
||||
.get_or_init(|| {
|
||||
INERT_ATTRIBUTES.iter().map(|attr| attr.name).enumerate().map(|(a, b)| (b, a)).collect()
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
//! Context for lowering paths.
|
||||
use std::cell::OnceCell;
|
||||
|
||||
use hir_expand::{
|
||||
ast_id_map::{AstIdMap, AstIdNode},
|
||||
hygiene::Hygiene,
|
||||
AstId, HirFileId, InFile,
|
||||
};
|
||||
use once_cell::unsync::OnceCell;
|
||||
use syntax::ast;
|
||||
use triomphe::Arc;
|
||||
|
||||
|
|
|
@ -86,17 +86,16 @@ fn on_char_typed_inner(
|
|||
if !stdx::always!(TRIGGER_CHARS.contains(char_typed)) {
|
||||
return None;
|
||||
}
|
||||
return match char_typed {
|
||||
let conv = |text_edit: Option<TextEdit>| {
|
||||
Some(ExtendedTextEdit { edit: text_edit?, is_snippet: false })
|
||||
};
|
||||
match char_typed {
|
||||
'.' => conv(on_dot_typed(&file.tree(), offset)),
|
||||
'=' => conv(on_eq_typed(&file.tree(), offset)),
|
||||
'<' => on_left_angle_typed(&file.tree(), offset),
|
||||
'>' => conv(on_right_angle_typed(&file.tree(), offset)),
|
||||
'{' => conv(on_opening_brace_typed(file, offset)),
|
||||
_ => return None,
|
||||
};
|
||||
|
||||
fn conv(text_edit: Option<TextEdit>) -> Option<ExtendedTextEdit> {
|
||||
Some(ExtendedTextEdit { edit: text_edit?, is_snippet: false })
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,5 @@ doctest = false
|
|||
# We need to freeze the version of the crate, as the raw-api feature is considered unstable
|
||||
dashmap = { version = "=5.4.0", features = ["raw-api"] }
|
||||
hashbrown.workspace = true
|
||||
once_cell = "1.17.0"
|
||||
rustc-hash = "1.1.0"
|
||||
triomphe.workspace = true
|
||||
|
|
|
@ -6,11 +6,11 @@ use std::{
|
|||
fmt::{self, Debug, Display},
|
||||
hash::{BuildHasherDefault, Hash, Hasher},
|
||||
ops::Deref,
|
||||
sync::OnceLock,
|
||||
};
|
||||
|
||||
use dashmap::{DashMap, SharedValue};
|
||||
use hashbrown::{hash_map::RawEntryMut, HashMap};
|
||||
use once_cell::sync::OnceCell;
|
||||
use rustc_hash::FxHasher;
|
||||
use triomphe::Arc;
|
||||
|
||||
|
@ -177,12 +177,12 @@ impl<T: Display + Internable + ?Sized> Display for Interned<T> {
|
|||
}
|
||||
|
||||
pub struct InternStorage<T: ?Sized> {
|
||||
map: OnceCell<InternMap<T>>,
|
||||
map: OnceLock<InternMap<T>>,
|
||||
}
|
||||
|
||||
impl<T: ?Sized> InternStorage<T> {
|
||||
pub const fn new() -> Self {
|
||||
Self { map: OnceCell::new() }
|
||||
Self { map: OnceLock::new() }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue