1
Fork 0

Rollup merge of #70240 - brain0:thread_id, r=Mark-Simulacrum

Return NonZeroU64 from ThreadId::as_u64.

As discussed in #67939, this allows turning Option<ThreadId> into Option<NonZeroU64> which
can then be stored inside an AtomicU64.
This commit is contained in:
Dylan DPC 2020-03-22 15:48:37 +01:00 committed by GitHub
commit c882b10a9f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 4 deletions

View file

@ -345,7 +345,7 @@ impl SelfProfilerRef {
) {
drop(self.exec(event_filter, |profiler| {
let event_id = StringId::new_virtual(query_invocation_id.0);
let thread_id = std::thread::current().id().as_u64() as u32;
let thread_id = std::thread::current().id().as_u64().get() as u32;
profiler.profiler.record_instant_event(
event_kind(profiler),
@ -522,7 +522,7 @@ impl<'a> TimingGuard<'a> {
event_kind: StringId,
event_id: EventId,
) -> TimingGuard<'a> {
let thread_id = std::thread::current().id().as_u64() as u32;
let thread_id = std::thread::current().id().as_u64().get() as u32;
let raw_profiler = &profiler.profiler;
let timing_guard =
raw_profiler.start_recording_interval_event(event_kind, event_id, thread_id);

View file

@ -1082,8 +1082,8 @@ impl ThreadId {
/// it is not guaranteed which values new threads will return, and this may
/// change across Rust versions.
#[unstable(feature = "thread_id_value", issue = "67939")]
pub fn as_u64(&self) -> u64 {
self.0.get()
pub fn as_u64(&self) -> NonZeroU64 {
self.0
}
}