mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 11:20:54 +00:00
Merge from rust-lang/rust
This commit is contained in:
commit
30262281eb
@ -695,7 +695,6 @@ pub const INERT_ATTRIBUTES: &[BuiltinAttribute] = &[
|
|||||||
template!(List: r#"cfg = "...", module = "...", kind = "...""#), DuplicatesOk,
|
template!(List: r#"cfg = "...", module = "...", kind = "...""#), DuplicatesOk,
|
||||||
),
|
),
|
||||||
rustc_attr!(TEST, rustc_symbol_name, Normal, template!(Word), WarnFollowing),
|
rustc_attr!(TEST, rustc_symbol_name, Normal, template!(Word), WarnFollowing),
|
||||||
rustc_attr!(TEST, rustc_polymorphize_error, Normal, template!(Word), WarnFollowing),
|
|
||||||
rustc_attr!(TEST, rustc_def_path, Normal, template!(Word), WarnFollowing),
|
rustc_attr!(TEST, rustc_def_path, Normal, template!(Word), WarnFollowing),
|
||||||
rustc_attr!(TEST, rustc_mir, Normal, template!(List: "arg1, arg2, ..."), DuplicatesOk),
|
rustc_attr!(TEST, rustc_mir, Normal, template!(List: "arg1, arg2, ..."), DuplicatesOk),
|
||||||
gated!(
|
gated!(
|
||||||
|
@ -3936,17 +3936,8 @@ The tracking issue for this feature is: [#117693]
|
|||||||
"##,
|
"##,
|
||||||
},
|
},
|
||||||
Lint {
|
Lint {
|
||||||
label: "core_pattern_type",
|
label: "pattern_type_macro",
|
||||||
description: r##"# `core_pattern_type`
|
description: r##"# `pattern_type_macro`
|
||||||
|
|
||||||
This feature has no tracking issue, and is therefore likely internal to the compiler, not being intended for general use.
|
|
||||||
|
|
||||||
------------------------
|
|
||||||
"##,
|
|
||||||
},
|
|
||||||
Lint {
|
|
||||||
label: "core_pattern_types",
|
|
||||||
description: r##"# `core_pattern_types`
|
|
||||||
|
|
||||||
This feature has no tracking issue, and is therefore likely internal to the compiler, not being intended for general use.
|
This feature has no tracking issue, and is therefore likely internal to the compiler, not being intended for general use.
|
||||||
|
|
||||||
|
@ -62,15 +62,13 @@ fn memusage_linux() -> MemoryUsage {
|
|||||||
// mallinfo2 is very recent, so its presence needs to be detected at runtime.
|
// mallinfo2 is very recent, so its presence needs to be detected at runtime.
|
||||||
// Both are abysmally slow.
|
// Both are abysmally slow.
|
||||||
|
|
||||||
use std::ffi::CStr;
|
|
||||||
use std::sync::atomic::{AtomicUsize, Ordering};
|
use std::sync::atomic::{AtomicUsize, Ordering};
|
||||||
|
|
||||||
static MALLINFO2: AtomicUsize = AtomicUsize::new(1);
|
static MALLINFO2: AtomicUsize = AtomicUsize::new(1);
|
||||||
|
|
||||||
let mut mallinfo2 = MALLINFO2.load(Ordering::Relaxed);
|
let mut mallinfo2 = MALLINFO2.load(Ordering::Relaxed);
|
||||||
if mallinfo2 == 1 {
|
if mallinfo2 == 1 {
|
||||||
let cstr = CStr::from_bytes_with_nul(b"mallinfo2\0").unwrap();
|
mallinfo2 = unsafe { libc::dlsym(libc::RTLD_DEFAULT, c"mallinfo2".as_ptr()) } as usize;
|
||||||
mallinfo2 = unsafe { libc::dlsym(libc::RTLD_DEFAULT, cstr.as_ptr()) } as usize;
|
|
||||||
// NB: races don't matter here, since they'll always store the same value
|
// NB: races don't matter here, since they'll always store the same value
|
||||||
MALLINFO2.store(mallinfo2, Ordering::Relaxed);
|
MALLINFO2.store(mallinfo2, Ordering::Relaxed);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user