Skip to content

Commit

Permalink
style: Add ToShmem impl for Atom.
Browse files Browse the repository at this point in the history
  • Loading branch information
heycam authored and emilio committed Apr 12, 2019
1 parent 48718b8 commit 8c007ad
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion components/style/gecko_string_cache/mod.rs
Expand Up @@ -25,9 +25,11 @@ use std::char::{self, DecodeUtf16};
use std::fmt::{self, Write};
use std::hash::{Hash, Hasher};
use std::iter::Cloned;
use std::mem::{self, ManuallyDrop};
use std::ops::Deref;
use std::{mem, slice, str};
use std::{slice, str};
use style_traits::SpecifiedValueInfo;
use to_shmem::{SharedMemoryBuilder, ToShmem};

#[macro_use]
#[allow(improper_ctypes, non_camel_case_types, missing_docs)]
Expand Down Expand Up @@ -122,6 +124,14 @@ impl Borrow<WeakAtom> for Atom {
}
}

impl ToShmem for Atom {
fn to_shmem(&self, _builder: &mut SharedMemoryBuilder) -> ManuallyDrop<Self> {
assert!(self.is_static(), "ToShmem failed for Atom: must be a static atom: {}", self);

ManuallyDrop::new(Atom(self.0))
}
}

impl Eq for WeakAtom {}
impl PartialEq for WeakAtom {
#[inline]
Expand Down

0 comments on commit 8c007ad

Please sign in to comment.