From deb06a32982cc4337525421e3ffd97f4d2ba037a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Mon, 8 Jan 2018 18:59:01 +0100 Subject: [PATCH 01/10] Update markup5ever. --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 06df7c6ff00..bed4a52b26a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1246,7 +1246,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "markup5ever 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "markup5ever 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1721,7 +1721,7 @@ dependencies = [ [[package]] name = "markup5ever" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "phf 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3740,7 +3740,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "markup5ever 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "markup5ever 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3885,7 +3885,7 @@ dependencies = [ "checksum lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d947cbb889ed21c2a84be6ffbaebf5b4e0f4340638cba0444907e38b56be084" "checksum mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" "checksum malloc_buf 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" -"checksum markup5ever 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7bccd18e4fab95f4410dc4d714163c2e88dd80e39a2a013998e345f337a569ab" +"checksum markup5ever 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c220b3a3d75543b76e5c1fcab6635a8430ab5f9bfa011d003c3787ae0abf4ffa" "checksum matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "efd7622e3022e1a6eaa602c4cea8912254e5582c9c692e9167714182244801b1" "checksum memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4" "checksum metadeps 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "73b122901b3a675fac8cecf68dcb2f0d3036193bc861d1ac0e1c337f7d5254c2" From 040379208e5cc648cf7ebde30b2a42e70c15e602 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Sun, 17 Dec 2017 14:44:53 +0100 Subject: [PATCH 02/10] style: Implement GeckoElement::assigned_slot. This allows to selector-match ::slotted, though we still don't parse it. Bug: 1425755 Reviewed-by: heycam MozReview-Commit-ID: ItELHkf2PMl --- components/style/gecko/wrapper.rs | 10 ++++++++++ .../style/invalidation/element/element_wrapper.rs | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/components/style/gecko/wrapper.rs b/components/style/gecko/wrapper.rs index 66b7f538dd6..ff0f9634afb 100644 --- a/components/style/gecko/wrapper.rs +++ b/components/style/gecko/wrapper.rs @@ -1795,11 +1795,21 @@ impl<'le> ::selectors::Element for GeckoElement<'le> { parent_node.and_then(|n| n.as_element()) } + #[inline] fn pseudo_element_originating_element(&self) -> Option { debug_assert!(self.implemented_pseudo_element().is_some()); self.closest_non_native_anonymous_ancestor() } + #[inline] + fn assigned_slot(&self) -> Option { + let slot = self.get_extended_slots()?._base.mAssignedSlot.mRawPtr; + + unsafe { + Some(GeckoElement(&slot.as_ref()?._base._base._base._base)) + } + } + #[inline] fn first_child_element(&self) -> Option { let mut child = self.as_node().first_child(); diff --git a/components/style/invalidation/element/element_wrapper.rs b/components/style/invalidation/element/element_wrapper.rs index 4ef5f5cad86..65f3ea89c19 100644 --- a/components/style/invalidation/element/element_wrapper.rs +++ b/components/style/invalidation/element/element_wrapper.rs @@ -351,6 +351,11 @@ impl<'a, E> Element for ElementWrapper<'a, E> .map(|e| ElementWrapper::new(e, self.snapshot_map)) } + fn assigned_slot(&self) -> Option { + self.element.assigned_slot() + .map(|e| ElementWrapper::new(e, self.snapshot_map)) + } + fn blocks_ancestor_combinators(&self) -> bool { self.element.blocks_ancestor_combinators() } From b26f3280d2f470e25c63d2acb10a80c97d08b3ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Sun, 17 Dec 2017 17:56:15 +0100 Subject: [PATCH 03/10] style: Add invalidation support for ::slotted(). Bug: 1424607 Reviewed-by: heycam MozReview-Commit-ID: 8pIVUx27o7x --- components/layout_thread/dom_wrapper.rs | 4 + components/style/dom.rs | 14 ++ components/style/dom_apis.rs | 7 +- components/style/gecko/wrapper.rs | 39 +++- .../style/invalidation/element/collector.rs | 70 ++++-- .../invalidation/element/invalidation_map.rs | 54 +++-- .../style/invalidation/element/invalidator.rs | 216 +++++++++++++----- 7 files changed, 294 insertions(+), 110 deletions(-) diff --git a/components/layout_thread/dom_wrapper.rs b/components/layout_thread/dom_wrapper.rs index e595ac06f45..8a8a2b57131 100644 --- a/components/layout_thread/dom_wrapper.rs +++ b/components/layout_thread/dom_wrapper.rs @@ -363,6 +363,10 @@ impl<'le> TElement for ServoLayoutElement<'le> { LayoutIterator(self.as_node().dom_children()) } + fn is_html_element(&self) -> bool { + unsafe { self.element.is_html_element() } + } + fn style_attribute(&self) -> Option>> { unsafe { (*self.element.style_attribute()).as_ref().map(|x| x.borrow_arc()) diff --git a/components/style/dom.rs b/components/style/dom.rs index ea438b66dd9..85f4f49c4b7 100644 --- a/components/style/dom.rs +++ b/components/style/dom.rs @@ -416,6 +416,20 @@ pub trait TElement F: FnMut(Self), {} + /// Return whether this element is an element in the HTML namespace. + fn is_html_element(&self) -> bool; + + /// Returns whether this element is a element. + fn is_html_slot_element(&self) -> bool { + self.get_local_name() == &*local_name!("slot") && + self.is_html_element() + } + + /// Return the list of slotted nodes of this node. + fn slotted_nodes(&self) -> &[Self::ConcreteNode] { + &[] + } + /// For a given NAC element, return the closest non-NAC ancestor, which is /// guaranteed to exist. fn closest_non_native_anonymous_ancestor(&self) -> Option { diff --git a/components/style/dom_apis.rs b/components/style/dom_apis.rs index 8f6ea273aa0..c1c5c989193 100644 --- a/components/style/dom_apis.rs +++ b/components/style/dom_apis.rs @@ -8,7 +8,8 @@ use Atom; use context::QuirksMode; use dom::{TDocument, TElement, TNode}; -use invalidation::element::invalidator::{Invalidation, InvalidationProcessor, InvalidationVector}; +use invalidation::element::invalidator::{DescendantInvalidationLists, Invalidation}; +use invalidation::element::invalidator::{InvalidationProcessor, InvalidationVector}; use selectors::{Element, NthIndexCache, SelectorList}; use selectors::attr::CaseSensitivity; use selectors::matching::{self, MatchingContext, MatchingMode}; @@ -143,7 +144,7 @@ where &mut self, element: E, self_invalidations: &mut InvalidationVector<'a>, - descendant_invalidations: &mut InvalidationVector<'a>, + descendant_invalidations: &mut DescendantInvalidationLists<'a>, _sibling_invalidations: &mut InvalidationVector<'a>, ) -> bool { // TODO(emilio): If the element is not a root element, and @@ -163,7 +164,7 @@ where let target_vector = if self.matching_context.scope_element.is_some() { - descendant_invalidations + &mut descendant_invalidations.dom_descendants } else { self_invalidations }; diff --git a/components/style/gecko/wrapper.rs b/components/style/gecko/wrapper.rs index ff0f9634afb..401479b950b 100644 --- a/components/style/gecko/wrapper.rs +++ b/components/style/gecko/wrapper.rs @@ -610,10 +610,7 @@ impl<'le> GeckoElement<'le> { self.as_node().node_info().mInner.mNamespaceID } - fn is_html_element(&self) -> bool { - self.namespace_id() == (structs::root::kNameSpaceID_XHTML as i32) - } - + #[inline] fn is_xul_element(&self) -> bool { self.namespace_id() == (structs::root::kNameSpaceID_XUL as i32) } @@ -974,6 +971,40 @@ impl<'le> TElement for GeckoElement<'le> { self.as_node().owner_doc().as_node() } + + #[inline] + fn is_html_element(&self) -> bool { + self.namespace_id() == (structs::root::kNameSpaceID_XHTML as i32) + } + + /// Return the list of slotted nodes of this node. + #[inline] + fn slotted_nodes(&self) -> &[Self::ConcreteNode] { + if !self.is_html_slot_element() || !self.is_in_shadow_tree() { + return &[]; + } + + let slot: &structs::HTMLSlotElement = unsafe { + mem::transmute(self.0) + }; + + if cfg!(debug_assertions) { + let base: &RawGeckoElement = &slot._base._base._base._base; + assert_eq!(base as *const _, self.0 as *const _, "Bad cast"); + } + + let assigned_nodes: &[structs::RefPtr] = + &*slot.mAssignedNodes; + + debug_assert_eq!( + mem::size_of::>(), + mem::size_of::(), + "Bad cast!" + ); + + unsafe { mem::transmute(assigned_nodes) } + } + /// Execute `f` for each anonymous content child element (apart from /// ::before and ::after) whose originating element is `self`. fn each_anonymous_content_child(&self, mut f: F) diff --git a/components/style/invalidation/element/collector.rs b/components/style/invalidation/element/collector.rs index 4f0460502c4..008d6e428ea 100644 --- a/components/style/invalidation/element/collector.rs +++ b/components/style/invalidation/element/collector.rs @@ -13,7 +13,8 @@ use dom::TElement; use element_state::ElementState; use invalidation::element::element_wrapper::{ElementSnapshot, ElementWrapper}; use invalidation::element::invalidation_map::*; -use invalidation::element::invalidator::{InvalidationVector, Invalidation, InvalidationProcessor}; +use invalidation::element::invalidator::{DescendantInvalidationLists, InvalidationVector}; +use invalidation::element::invalidator::{Invalidation, InvalidationProcessor}; use invalidation::element::restyle_hints::RestyleHint; use selector_map::SelectorMap; use selector_parser::Snapshot; @@ -47,7 +48,7 @@ where classes_removed: &'a SmallVec<[Atom; 8]>, classes_added: &'a SmallVec<[Atom; 8]>, state_changes: ElementState, - descendant_invalidations: &'a mut InvalidationVector<'selectors>, + descendant_invalidations: &'a mut DescendantInvalidationLists<'selectors>, sibling_invalidations: &'a mut InvalidationVector<'selectors>, invalidates_self: bool, } @@ -109,7 +110,7 @@ where &mut self, element: E, _self_invalidations: &mut InvalidationVector<'a>, - descendant_invalidations: &mut InvalidationVector<'a>, + descendant_invalidations: &mut DescendantInvalidationLists<'a>, sibling_invalidations: &mut InvalidationVector<'a>, ) -> bool { debug_assert!(element.has_snapshot(), "Why bothering?"); @@ -236,7 +237,10 @@ where // // This number is completely made-up, but the page that made us add this // code generated 1960+ invalidations (bug 1420741). - if descendant_invalidations.len() > 150 { + // + // We don't look at slotted_descendants because those don't propagate + // down more than one level anyway. + if descendant_invalidations.dom_descendants.len() > 150 { self.data.hint.insert(RestyleHint::RESTYLE_DESCENDANTS); } @@ -509,36 +513,52 @@ where } fn note_dependency(&mut self, dependency: &'selectors Dependency) { - if dependency.affects_self() { + debug_assert!(self.dependency_may_be_relevant(dependency)); + + let invalidation_kind = dependency.invalidation_kind(); + if matches!(invalidation_kind, DependencyInvalidationKind::Element) { self.invalidates_self = true; + return; } - if dependency.affects_descendants() { - debug_assert_ne!(dependency.selector_offset, 0); - debug_assert_ne!(dependency.selector_offset, dependency.selector.len()); - debug_assert!(!dependency.affects_later_siblings()); - self.descendant_invalidations.push(Invalidation::new( - &dependency.selector, - dependency.selector.len() - dependency.selector_offset + 1, - )); - } else if dependency.affects_later_siblings() { - debug_assert_ne!(dependency.selector_offset, 0); - debug_assert_ne!(dependency.selector_offset, dependency.selector.len()); - self.sibling_invalidations.push(Invalidation::new( - &dependency.selector, - dependency.selector.len() - dependency.selector_offset + 1, - )); + debug_assert_ne!(dependency.selector_offset, 0); + debug_assert_ne!( + dependency.selector_offset, + dependency.selector.len() + ); + + let invalidation = Invalidation::new( + &dependency.selector, + dependency.selector.len() - dependency.selector_offset + 1, + ); + + match invalidation_kind { + DependencyInvalidationKind::Element => unreachable!(), + DependencyInvalidationKind::ElementAndDescendants => { + self.invalidates_self = true; + self.descendant_invalidations.dom_descendants.push(invalidation); + } + DependencyInvalidationKind::Descendants => { + self.descendant_invalidations.dom_descendants.push(invalidation); + } + DependencyInvalidationKind::Siblings => { + self.sibling_invalidations.push(invalidation); + } + DependencyInvalidationKind::SlottedElements => { + self.descendant_invalidations.slotted_descendants.push(invalidation); + } } } /// Returns whether `dependency` may cause us to invalidate the style of /// more elements than what we've already invalidated. fn dependency_may_be_relevant(&self, dependency: &Dependency) -> bool { - if dependency.affects_descendants() || dependency.affects_later_siblings() { - return true; + match dependency.invalidation_kind() { + DependencyInvalidationKind::Element => !self.invalidates_self, + DependencyInvalidationKind::SlottedElements => self.element.is_html_slot_element(), + DependencyInvalidationKind::ElementAndDescendants | + DependencyInvalidationKind::Siblings | + DependencyInvalidationKind::Descendants => true, } - - debug_assert!(dependency.affects_self()); - !self.invalidates_self } } diff --git a/components/style/invalidation/element/invalidation_map.rs b/components/style/invalidation/element/invalidation_map.rs index 0ae08aa0bfa..809d3eb4a78 100644 --- a/components/style/invalidation/element/invalidation_map.rs +++ b/components/style/invalidation/element/invalidation_map.rs @@ -63,6 +63,25 @@ pub struct Dependency { pub selector_offset: usize, } +/// The kind of elements down the tree this dependency may affect. +#[derive(Debug, Eq, PartialEq)] +pub enum DependencyInvalidationKind { + /// This dependency may affect the element that changed itself. + Element, + /// This dependency affects the style of the element itself, and also the + /// style of its descendants. + /// + /// TODO(emilio): Each time this feels more of a hack for eager pseudos... + ElementAndDescendants, + /// This dependency may affect descendants down the tree. + Descendants, + /// This dependency may affect siblings to the right of the element that + /// changed. + Siblings, + /// This dependency may affect slotted elements of the element that changed. + SlottedElements, +} + impl Dependency { /// Returns the combinator to the right of the partial selector this /// dependency represents. @@ -76,28 +95,19 @@ impl Dependency { Some(self.selector.combinator_at_match_order(self.selector_offset - 1)) } - /// Whether this dependency affects the style of the element. - /// - /// NOTE(emilio): pseudo-elements need to be here to account for eager - /// pseudos, since they just grab the style from the originating element. - /// - /// TODO(emilio): We could look at the selector itself to see if it's an - /// eager pseudo, and return false here if not. - pub fn affects_self(&self) -> bool { - matches!(self.combinator(), None | Some(Combinator::PseudoElement)) - } - - /// Whether this dependency may affect style of any of our descendants. - pub fn affects_descendants(&self) -> bool { - matches!(self.combinator(), Some(Combinator::PseudoElement) | - Some(Combinator::Child) | - Some(Combinator::Descendant)) - } - - /// Whether this dependency may affect style of any of our later siblings. - pub fn affects_later_siblings(&self) -> bool { - matches!(self.combinator(), Some(Combinator::NextSibling) | - Some(Combinator::LaterSibling)) + /// The kind of invalidation that this would generate. + pub fn invalidation_kind(&self) -> DependencyInvalidationKind { + match self.combinator() { + None => DependencyInvalidationKind::Element, + Some(Combinator::Child) | + Some(Combinator::Descendant) => DependencyInvalidationKind::Descendants, + Some(Combinator::LaterSibling) | + Some(Combinator::NextSibling) => DependencyInvalidationKind::Siblings, + // TODO(emilio): We could look at the selector itself to see if it's + // an eager pseudo, and return only Descendants here if not. + Some(Combinator::PseudoElement) => DependencyInvalidationKind::ElementAndDescendants, + Some(Combinator::SlotAssignment) => DependencyInvalidationKind::SlottedElements, + } } } diff --git a/components/style/invalidation/element/invalidator.rs b/components/style/invalidation/element/invalidator.rs index 62bac3fd8be..14aa084a1b0 100644 --- a/components/style/invalidation/element/invalidator.rs +++ b/components/style/invalidation/element/invalidator.rs @@ -39,7 +39,7 @@ where &mut self, element: E, self_invalidations: &mut InvalidationVector<'a>, - descendant_invalidations: &mut InvalidationVector<'a>, + descendant_invalidations: &mut DescendantInvalidationLists<'a>, sibling_invalidations: &mut InvalidationVector<'a>, ) -> bool; @@ -58,6 +58,25 @@ where fn invalidated_descendants(&mut self, element: E, child: E); } +/// Different invalidation lists for descendants. +#[derive(Debug, Default)] +pub struct DescendantInvalidationLists<'a> { + /// Invalidations for normal DOM children and pseudo-elements. + /// + /// TODO(emilio): Having a list of invalidations just for pseudo-elements + /// may save some work here and there. + pub dom_descendants: InvalidationVector<'a>, + /// Invalidations for slotted children of an element. + pub slotted_descendants: InvalidationVector<'a>, +} + +impl<'a> DescendantInvalidationLists<'a> { + fn is_empty(&self) -> bool { + self.dom_descendants.is_empty() && + self.slotted_descendants.is_empty() + } +} + /// The struct that takes care of encapsulating all the logic on where and how /// element styles need to be invalidated. pub struct TreeStyleInvalidator<'a, 'b, E, P: 'a> @@ -75,13 +94,22 @@ where /// A vector of invalidations, optimized for small invalidation sets. pub type InvalidationVector<'a> = SmallVec<[Invalidation<'a>; 10]>; +/// The kind of descendant invalidation we're processing. +#[derive(Clone, Copy, Debug, Eq, PartialEq)] +enum DescendantInvalidationKind { + /// A DOM descendant invalidation. + Dom, + /// A ::slotted() descendant invalidation. + Slotted, +} + /// The kind of invalidation we're processing. /// /// We can use this to avoid pushing invalidations of the same kind to our /// descendants or siblings. #[derive(Clone, Copy, Debug, Eq, PartialEq)] enum InvalidationKind { - Descendant, + Descendant(DescendantInvalidationKind), Sibling, } @@ -126,21 +154,27 @@ impl<'a> Invalidation<'a> { // // We should be able to do better here! match self.selector.combinator_at_parse_order(self.offset - 1) { + Combinator::Descendant | + Combinator::LaterSibling | + Combinator::PseudoElement => true, + Combinator::SlotAssignment | Combinator::NextSibling | Combinator::Child => false, - _ => true, } } fn kind(&self) -> InvalidationKind { if self.offset == 0 { - return InvalidationKind::Descendant; + return InvalidationKind::Descendant(DescendantInvalidationKind::Dom); } - if self.selector.combinator_at_parse_order(self.offset - 1).is_ancestor() { - InvalidationKind::Descendant - } else { - InvalidationKind::Sibling + match self.selector.combinator_at_parse_order(self.offset - 1) { + Combinator::Child | + Combinator::Descendant | + Combinator::PseudoElement => InvalidationKind::Descendant(DescendantInvalidationKind::Dom), + Combinator::SlotAssignment => InvalidationKind::Descendant(DescendantInvalidationKind::Slotted), + Combinator::NextSibling | + Combinator::LaterSibling => InvalidationKind::Sibling, } } } @@ -230,7 +264,7 @@ where debug!("StyleTreeInvalidator::invalidate({:?})", self.element); let mut self_invalidations = InvalidationVector::new(); - let mut descendant_invalidations = InvalidationVector::new(); + let mut descendant_invalidations = DescendantInvalidationLists::default(); let mut sibling_invalidations = InvalidationVector::new(); let mut invalidated_self = self.processor.collect_invalidations( @@ -242,7 +276,7 @@ where debug!("Collected invalidations (self: {}): ", invalidated_self); debug!(" > self: {}, {:?}", self_invalidations.len(), self_invalidations); - debug!(" > descendants: {}, {:?}", descendant_invalidations.len(), descendant_invalidations); + debug!(" > descendants: {:?}", descendant_invalidations); debug!(" > siblings: {}, {:?}", sibling_invalidations.len(), sibling_invalidations); let invalidated_self_from_collection = invalidated_self; @@ -251,6 +285,7 @@ where &self_invalidations, &mut descendant_invalidations, &mut sibling_invalidations, + DescendantInvalidationKind::Dom, ); if invalidated_self && !invalidated_self_from_collection { @@ -260,7 +295,11 @@ where let invalidated_descendants = self.invalidate_descendants(&descendant_invalidations); let invalidated_siblings = self.invalidate_siblings(&mut sibling_invalidations); - InvalidationResult { invalidated_self, invalidated_descendants, invalidated_siblings } + InvalidationResult { + invalidated_self, + invalidated_descendants, + invalidated_siblings, + } } /// Go through later DOM siblings, invalidating style as needed using the @@ -286,7 +325,8 @@ where self.processor, ); - let mut invalidations_for_descendants = InvalidationVector::new(); + let mut invalidations_for_descendants = + DescendantInvalidationLists::default(); let invalidated_sibling = sibling_invalidator.process_sibling_invalidations( &mut invalidations_for_descendants, @@ -301,7 +341,7 @@ where any_invalidated |= sibling_invalidator.invalidate_descendants( - &invalidations_for_descendants + &invalidations_for_descendants, ); if sibling_invalidations.is_empty() { @@ -324,7 +364,8 @@ where let result = self.invalidate_child( child, invalidations, - &mut sibling_invalidations + &mut sibling_invalidations, + DescendantInvalidationKind::Dom, ); // Roots of NAC subtrees can indeed generate sibling invalidations, but @@ -344,8 +385,10 @@ where child: E, invalidations: &[Invalidation<'b>], sibling_invalidations: &mut InvalidationVector<'b>, + descendant_invalidation_kind: DescendantInvalidationKind, ) -> bool { - let mut invalidations_for_descendants = InvalidationVector::new(); + let mut invalidations_for_descendants = + DescendantInvalidationLists::default(); let mut invalidated_child = false; let invalidated_descendants = { @@ -366,13 +409,16 @@ where invalidations, &mut invalidations_for_descendants, sibling_invalidations, + descendant_invalidation_kind, ); if invalidated_child { child_invalidator.processor.invalidated_self(child); } - child_invalidator.invalidate_descendants(&invalidations_for_descendants) + child_invalidator.invalidate_descendants( + &invalidations_for_descendants, + ) }; // The child may not be a flattened tree child of the current element, @@ -418,10 +464,6 @@ where // // This probably needs a shadow root check on `child` here, and // recursing if that's the case. - // - // Also, what's the deal with HTML ? We don't need to - // support that for now, though we probably need to recurse into the - // distributed children too. let child = match child.as_element() { Some(e) => e, None => continue, @@ -431,15 +473,14 @@ where child, invalidations, &mut sibling_invalidations, + DescendantInvalidationKind::Dom, ); } any_descendant } - /// Given a descendant invalidation list, go through the current element's - /// descendants, and invalidate style on them. - fn invalidate_descendants( + fn invalidate_slotted_elements( &mut self, invalidations: &[Invalidation<'b>], ) -> bool { @@ -447,6 +488,83 @@ where return false; } + let mut any = false; + + let mut sibling_invalidations = InvalidationVector::new(); + let element = self.element; + for node in element.slotted_nodes() { + let element = match node.as_element() { + Some(e) => e, + None => continue, + }; + + any |= self.invalidate_child( + element, + invalidations, + &mut sibling_invalidations, + DescendantInvalidationKind::Slotted, + ); + + debug_assert!( + sibling_invalidations.is_empty(), + "::slotted() shouldn't have sibling combinators to the right, \ + this makes no sense! {:?}", + sibling_invalidations + ); + } + + any + } + + fn invalidate_non_slotted_descendants( + &mut self, + invalidations: &[Invalidation<'b>], + ) -> bool { + if invalidations.is_empty() { + return false; + } + + if self.processor.light_tree_only() { + let node = self.element.as_node(); + return self.invalidate_dom_descendants_of(node, invalidations); + } + + let mut any_descendant = false; + + if let Some(anon_content) = self.element.xbl_binding_anonymous_content() { + any_descendant |= + self.invalidate_dom_descendants_of(anon_content, invalidations); + } + + if let Some(before) = self.element.before_pseudo_element() { + any_descendant |= + self.invalidate_pseudo_element_or_nac(before, invalidations); + } + + let node = self.element.as_node(); + any_descendant |= + self.invalidate_dom_descendants_of(node, invalidations); + + if let Some(after) = self.element.after_pseudo_element() { + any_descendant |= + self.invalidate_pseudo_element_or_nac(after, invalidations); + } + + any_descendant |= self.invalidate_nac(invalidations); + + any_descendant + } + + /// Given the descendant invalidation lists, go through the current + /// element's descendants, and invalidate style on them. + fn invalidate_descendants( + &mut self, + invalidations: &DescendantInvalidationLists<'b>, + ) -> bool { + if invalidations.is_empty() { + return false; + } + debug!("StyleTreeInvalidator::invalidate_descendants({:?})", self.element); debug!(" > {:?}", invalidations); @@ -465,35 +583,12 @@ where } } - if self.processor.light_tree_only() { - let node = self.element.as_node(); - return self.invalidate_dom_descendants_of(node, invalidations); - } - let mut any_descendant = false; - if let Some(anon_content) = self.element.xbl_binding_anonymous_content() { - any_descendant |= - self.invalidate_dom_descendants_of(anon_content, invalidations); - } - - // TODO(emilio): Having a list of invalidations just for pseudo-elements - // may save some work here and there. - if let Some(before) = self.element.before_pseudo_element() { - any_descendant |= - self.invalidate_pseudo_element_or_nac(before, invalidations); - } - - let node = self.element.as_node(); any_descendant |= - self.invalidate_dom_descendants_of(node, invalidations); - - if let Some(after) = self.element.after_pseudo_element() { - any_descendant |= - self.invalidate_pseudo_element_or_nac(after, invalidations); - } - - any_descendant |= self.invalidate_nac(invalidations); + self.invalidate_non_slotted_descendants(&invalidations.dom_descendants); + any_descendant |= + self.invalidate_slotted_elements(&invalidations.slotted_descendants); any_descendant } @@ -511,7 +606,7 @@ where /// Returns whether invalidated the current element's style. fn process_sibling_invalidations( &mut self, - descendant_invalidations: &mut InvalidationVector<'b>, + descendant_invalidations: &mut DescendantInvalidationLists<'b>, sibling_invalidations: &mut InvalidationVector<'b>, ) -> bool { let mut i = 0; @@ -547,8 +642,9 @@ where fn process_descendant_invalidations( &mut self, invalidations: &[Invalidation<'b>], - descendant_invalidations: &mut InvalidationVector<'b>, + descendant_invalidations: &mut DescendantInvalidationLists<'b>, sibling_invalidations: &mut InvalidationVector<'b>, + descendant_invalidation_kind: DescendantInvalidationKind, ) -> bool { let mut invalidated = false; @@ -557,14 +653,19 @@ where invalidation, descendant_invalidations, sibling_invalidations, - InvalidationKind::Descendant, + InvalidationKind::Descendant(descendant_invalidation_kind), ); invalidated |= result.invalidated_self; if invalidation.effective_for_next() { let mut invalidation = invalidation.clone(); invalidation.matched_by_any_previous |= result.matched; - descendant_invalidations.push(invalidation.clone()); + debug_assert_eq!( + descendant_invalidation_kind, + DescendantInvalidationKind::Dom, + "Slotted invalidations don't propagate." + ); + descendant_invalidations.dom_descendants.push(invalidation); } } @@ -580,7 +681,7 @@ where fn process_invalidation( &mut self, invalidation: &Invalidation<'b>, - descendant_invalidations: &mut InvalidationVector<'b>, + descendant_invalidations: &mut DescendantInvalidationLists<'b>, sibling_invalidations: &mut InvalidationVector<'b>, invalidation_kind: InvalidationKind, ) -> SingleInvalidationResult { @@ -732,8 +833,11 @@ where already been matched before"); } else { match next_invalidation_kind { - InvalidationKind::Descendant => { - descendant_invalidations.push(next_invalidation); + InvalidationKind::Descendant(DescendantInvalidationKind::Dom) => { + descendant_invalidations.dom_descendants.push(next_invalidation); + } + InvalidationKind::Descendant(DescendantInvalidationKind::Slotted) => { + descendant_invalidations.slotted_descendants.push(next_invalidation); } InvalidationKind::Sibling => { sibling_invalidations.push(next_invalidation); From 5115cbd1c0e0d2c1a791c285ed0bf443e1fd7fca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Mon, 18 Dec 2017 09:08:24 +0100 Subject: [PATCH 04/10] style: Store ::slotted rules separately on the cascade data, since they may cross the shadow boundary. MozReview-Commit-ID: EY9nK3169vv --- components/selectors/builder.rs | 22 +++- components/selectors/parser.rs | 10 +- components/style/selector_map.rs | 7 ++ components/style/stylist.rs | 173 ++++++++++++++++++++++--------- 4 files changed, 161 insertions(+), 51 deletions(-) diff --git a/components/selectors/builder.rs b/components/selectors/builder.rs index b3d61b34706..2220477b553 100644 --- a/components/selectors/builder.rs +++ b/components/selectors/builder.rs @@ -98,13 +98,21 @@ impl SelectorBuilder { /// Consumes the builder, producing a Selector. #[inline(always)] - pub fn build(&mut self, parsed_pseudo: bool) -> ThinArc> { + pub fn build( + &mut self, + parsed_pseudo: bool, + parsed_slotted: bool, + ) -> ThinArc> { // Compute the specificity and flags. let mut spec = SpecificityAndFlags(specificity(self.simple_selectors.iter())); if parsed_pseudo { spec.0 |= HAS_PSEUDO_BIT; } + if parsed_slotted { + spec.0 |= HAS_SLOTTED_BIT; + } + self.build_with_specificity_and_flags(spec) } @@ -188,18 +196,28 @@ fn split_from_end(s: &[T], at: usize) -> (&[T], &[T]) { } pub const HAS_PSEUDO_BIT: u32 = 1 << 30; +pub const HAS_SLOTTED_BIT: u32 = 1 << 31; +/// We use ten bits for each specificity kind (id, class, element), and the two +/// high bits for the pseudo and slotted flags. #[derive(Clone, Copy, Debug, Eq, PartialEq)] pub struct SpecificityAndFlags(pub u32); impl SpecificityAndFlags { + #[inline] pub fn specificity(&self) -> u32 { - self.0 & !HAS_PSEUDO_BIT + self.0 & !(HAS_PSEUDO_BIT | HAS_SLOTTED_BIT) } + #[inline] pub fn has_pseudo_element(&self) -> bool { (self.0 & HAS_PSEUDO_BIT) != 0 } + + #[inline] + pub fn is_slotted(&self) -> bool { + (self.0 & HAS_SLOTTED_BIT) != 0 + } } const MAX_10BIT: u32 = (1u32 << 10) - 1; diff --git a/components/selectors/parser.rs b/components/selectors/parser.rs index 3584cb4eb25..a6902d105c7 100644 --- a/components/selectors/parser.rs +++ b/components/selectors/parser.rs @@ -445,14 +445,22 @@ pub fn namespace_empty_string() -> Impl::NamespaceUrl { pub struct Selector(ThinArc>); impl Selector { + #[inline] pub fn specificity(&self) -> u32 { self.0.header.header.specificity() } + #[inline] pub fn has_pseudo_element(&self) -> bool { self.0.header.header.has_pseudo_element() } + #[inline] + pub fn is_slotted(&self) -> bool { + self.0.header.header.is_slotted() + } + + #[inline] pub fn pseudo_element(&self) -> Option<&Impl::PseudoElement> { if !self.has_pseudo_element() { return None @@ -1219,7 +1227,7 @@ where builder.push_combinator(combinator); } - Ok(Selector(builder.build(has_pseudo_element))) + Ok(Selector(builder.build(has_pseudo_element, slotted))) } impl Selector { diff --git a/components/style/selector_map.rs b/components/style/selector_map.rs index c7c41c6de44..59d53cda2de 100644 --- a/components/style/selector_map.rs +++ b/components/style/selector_map.rs @@ -106,6 +106,13 @@ pub struct SelectorMap { pub count: usize, } +impl Default for SelectorMap { + #[inline] + fn default() -> Self { + Self::new() + } +} + // FIXME(Manishearth) the 'static bound can be removed when // our HashMap fork (hashglobe) is able to use NonZero, // or when stdlib gets fallible collections diff --git a/components/style/stylist.rs b/components/style/stylist.rs index 180c421ba3a..f4d7a2c8dd9 100644 --- a/components/style/stylist.rs +++ b/components/style/stylist.rs @@ -1232,7 +1232,7 @@ impl Stylist { rule_hash_target.matches_user_and_author_rules(); // Step 1: Normal user-agent rules. - if let Some(map) = self.cascade_data.user_agent.cascade_data.borrow_for_pseudo(pseudo_element) { + if let Some(map) = self.cascade_data.user_agent.cascade_data.rules.borrow_for_pseudo(pseudo_element) { map.get_all_matching_rules( element, &rule_hash_target, @@ -1270,7 +1270,7 @@ impl Stylist { // Which may be more what you would probably expect. if matches_user_and_author_rules { // Step 3a: User normal rules. - if let Some(map) = self.cascade_data.user.borrow_for_pseudo(pseudo_element) { + if let Some(map) = self.cascade_data.user.rules.borrow_for_pseudo(pseudo_element) { map.get_all_matching_rules( element, &rule_hash_target, @@ -1281,15 +1281,15 @@ impl Stylist { CascadeLevel::UserNormal, ); } - } else { - debug!("skipping user rules"); } // Step 3b: XBL rules. + // + // TODO(emilio): Ensure cascade order is correct for Shadow DOM. let cut_off_inheritance = element.each_xbl_stylist(|stylist| { // ServoStyleSet::CreateXBLServoStyleSet() loads XBL style sheets // under eAuthorSheetFeatures level. - if let Some(map) = stylist.cascade_data.author.borrow_for_pseudo(pseudo_element) { + if let Some(map) = stylist.cascade_data.author.rules.borrow_for_pseudo(pseudo_element) { // NOTE(emilio): This is needed because the XBL stylist may // think it has a different quirks mode than the document. // @@ -1320,7 +1320,7 @@ impl Stylist { !cut_off_inheritance { // Step 3c: Author normal rules. - if let Some(map) = self.cascade_data.author.borrow_for_pseudo(pseudo_element) { + if let Some(map) = self.cascade_data.author.rules.borrow_for_pseudo(pseudo_element) { map.get_all_matching_rules( element, &rule_hash_target, @@ -1331,8 +1331,31 @@ impl Stylist { CascadeLevel::AuthorNormal ); } - } else { - debug!("skipping author normal rules"); + + let mut current = rule_hash_target.assigned_slot(); + while let Some(slot) = current { + // TODO(emilio): Ensure this is the expected cascade order, + // maybe we need to merge the sorting with the above + // get_all_matching_rules. + slot.each_xbl_stylist(|stylist| { + let slotted_rules = + stylist.cascade_data.author.slotted_rules.as_ref(); + if let Some(map) = slotted_rules.and_then(|r| r.borrow_for_pseudo(pseudo_element)) { + map.get_all_matching_rules( + element, + &rule_hash_target, + applicable_declarations, + context, + self.quirks_mode, + flags_setter, + CascadeLevel::AuthorNormal + ); + } + }); + + current = slot.assigned_slot(); + } + } if !only_default_rules { @@ -1368,8 +1391,6 @@ impl Stylist { ) ); } - } else { - debug!("skipping style attr and SMIL & animation rules"); } // @@ -1388,8 +1409,6 @@ impl Stylist { ) ); } - } else { - debug!("skipping transition rules"); } } @@ -1841,14 +1860,9 @@ impl<'a> SelectorVisitor for StylistSelectorVisitor<'a> { } } -/// Data resulting from performing the CSS cascade that is specific to a given -/// origin. -/// -/// FIXME(emilio): Consider renaming and splitting in `CascadeData` and -/// `InvalidationData`? That'd make `clear_cascade_data()` clearer. -#[cfg_attr(feature = "servo", derive(MallocSizeOf))] -#[derive(Debug)] -struct CascadeData { +/// A set of rules for element and pseudo-elements. +#[derive(Debug, Default)] +struct ElementAndPseudoRules { /// Rules from stylesheets at this `CascadeData`'s origin. element_map: SelectorMap, @@ -1859,6 +1873,76 @@ struct CascadeData { /// Figure out a good way to do a `PerNonAnonBox` and `PerAnonBox` (for /// `precomputed_values_for_pseudo`) without duplicating a lot of code. pseudos_map: PerPseudoElementMap>>, +} + +impl ElementAndPseudoRules { + #[inline(always)] + fn insert( + &mut self, + rule: Rule, + pseudo_element: Option<&PseudoElement>, + quirks_mode: QuirksMode, + ) -> Result<(), FailedAllocationError> { + debug_assert!(pseudo_element.map_or(true, |pseudo| !pseudo.is_precomputed())); + + let map = match pseudo_element { + None => &mut self.element_map, + Some(pseudo) => { + self.pseudos_map.get_or_insert_with( + &pseudo.canonical(), + || Box::new(SelectorMap::new()) + ) + } + }; + + map.insert(rule, quirks_mode) + } + + fn clear(&mut self) { + self.element_map.clear(); + self.pseudos_map.clear(); + } + + #[inline] + fn borrow_for_pseudo(&self, pseudo: Option<&PseudoElement>) -> Option<&SelectorMap> { + match pseudo { + Some(pseudo) => self.pseudos_map.get(&pseudo.canonical()).map(|p| &**p), + None => Some(&self.element_map), + } + } + + /// Measures heap usage. + #[cfg(feature = "gecko")] + fn add_size_of(&self, ops: &mut MallocSizeOfOps, sizes: &mut ServoStyleSetSizes) { + sizes.mElementAndPseudosMaps += self.element_map.size_of(ops); + + for elem in self.pseudos_map.iter() { + if let Some(ref elem) = *elem { + sizes.mElementAndPseudosMaps += as MallocSizeOf>::size_of(elem, ops); + } + } + } +} + +/// Data resulting from performing the CSS cascade that is specific to a given +/// origin. +/// +/// FIXME(emilio): Consider renaming and splitting in `CascadeData` and +/// `InvalidationData`? That'd make `clear_cascade_data()` clearer. +#[cfg_attr(feature = "servo", derive(MallocSizeOf))] +#[derive(Debug)] +struct CascadeData { + /// The rules at this cascade level. + rules: ElementAndPseudoRules, + + /// ::slotted() pseudo-element rules. + /// + /// We need to store them separately because an element needs to match scoped + /// pseudo-element rules in different style scopes. + /// + /// In particular, you need to go through all the style data in all the + /// containing style scopes starting from the closest assigned slot. + slotted_rules: Option>, /// A map with all the animations at this `CascadeData`'s origin, indexed /// by name. @@ -1925,8 +2009,8 @@ struct CascadeData { impl CascadeData { fn new() -> Self { Self { - element_map: SelectorMap::new(), - pseudos_map: PerPseudoElementMap::default(), + rules: ElementAndPseudoRules::default(), + slotted_rules: None, animations: Default::default(), extra_data: ExtraStyleData::default(), invalidation_map: InvalidationMap::new(), @@ -2015,8 +2099,10 @@ impl CascadeData { for selector in &style_rule.selectors.0 { self.num_selectors += 1; - let map = match selector.pseudo_element() { - Some(pseudo) if pseudo.is_precomputed() => { + let pseudo_element = selector.pseudo_element(); + + if let Some(pseudo) = pseudo_element { + if pseudo.is_precomputed() { debug_assert!(selector.is_universal()); debug_assert!(matches!(origin, Origin::UserAgent)); @@ -2030,15 +2116,9 @@ impl CascadeData { CascadeLevel::UANormal, selector.specificity() )); - continue; } - None => &mut self.element_map, - Some(pseudo) => { - self.pseudos_map - .get_or_insert_with(&pseudo.canonical(), || Box::new(SelectorMap::new())) - } - }; + } let hashes = AncestorHashes::new(&selector, quirks_mode); @@ -2050,7 +2130,15 @@ impl CascadeData { self.rules_source_order ); - map.insert(rule, quirks_mode)?; + if selector.is_slotted() { + if self.slotted_rules.is_none() { + self.slotted_rules = Some(Default::default()); + } + let slotted_rules = self.slotted_rules.as_mut().unwrap(); + slotted_rules.insert(rule, pseudo_element, quirks_mode)?; + } else { + self.rules.insert(rule, pseudo_element, quirks_mode)?; + } if rebuild_kind.should_rebuild_invalidation() { self.invalidation_map @@ -2223,18 +2311,10 @@ impl CascadeData { true } - #[inline] - fn borrow_for_pseudo(&self, pseudo: Option<&PseudoElement>) -> Option<&SelectorMap> { - match pseudo { - Some(pseudo) => self.pseudos_map.get(&pseudo.canonical()).map(|p| &**p), - None => Some(&self.element_map), - } - } - /// Clears the cascade data, but not the invalidation data. fn clear_cascade_data(&mut self) { - self.element_map.clear(); - self.pseudos_map.clear(); + self.rules.clear(); + self.slotted_rules = None; self.animations.clear(); self.extra_data.clear(); self.rules_source_order = 0; @@ -2257,12 +2337,9 @@ impl CascadeData { /// Measures heap usage. #[cfg(feature = "gecko")] pub fn add_size_of(&self, ops: &mut MallocSizeOfOps, sizes: &mut ServoStyleSetSizes) { - sizes.mElementAndPseudosMaps += self.element_map.size_of(ops); - - for elem in self.pseudos_map.iter() { - if let Some(ref elem) = *elem { - sizes.mElementAndPseudosMaps += as MallocSizeOf>::size_of(elem, ops); - } + self.rules.add_size_of(ops, sizes); + if let Some(ref slotted_rules) = self.slotted_rules { + slotted_rules.add_size_of(ops, sizes); } sizes.mOther += self.animations.size_of(ops); From ce1d8cd232dfbc9e0a52f9467ba2bc209087ea63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Mon, 18 Dec 2017 11:58:59 +0100 Subject: [PATCH 05/10] style: Make invalidation state also be with the ::slotted rules. MozReview-Commit-ID: GYmsXYvL9vj --- components/style/data.rs | 4 +- components/style/dom.rs | 37 +- .../style/invalidation/element/collector.rs | 24 +- components/style/stylesheet_set.rs | 1 + components/style/stylist.rs | 400 +++++++++++------- ports/geckolib/glue.rs | 31 +- 6 files changed, 310 insertions(+), 187 deletions(-) diff --git a/components/style/data.rs b/components/style/data.rs index e2e7fac5007..2cd2d84e67b 100644 --- a/components/style/data.rs +++ b/components/style/data.rs @@ -263,7 +263,9 @@ impl ElementData { let mut xbl_stylists = SmallVec::<[_; 3]>::new(); let cut_off_inheritance = - element.each_xbl_stylist(|s| xbl_stylists.push(s)); + element.each_applicable_non_document_style_rule_data(|data, quirks_mode| { + xbl_stylists.push((data, quirks_mode)) + }); let mut processor = StateAndAttrInvalidationProcessor::new( shared_context, diff --git a/components/style/dom.rs b/components/style/dom.rs index 85f4f49c4b7..57872062e6a 100644 --- a/components/style/dom.rs +++ b/components/style/dom.rs @@ -31,7 +31,7 @@ use std::fmt; use std::fmt::Debug; use std::hash::Hash; use std::ops::Deref; -use stylist::Stylist; +use stylist::{StyleRuleCascadeData, Stylist}; use traversal_flags::TraversalFlags; /// An opaque handle to a node, which, unlike UnsafeNode, cannot be transformed @@ -774,6 +774,41 @@ pub trait TElement false } + /// Executes the callback for each applicable style rule data which isn't + /// the main document's data (which stores UA / author rules). + /// + /// Returns whether normal document author rules should apply. + fn each_applicable_non_document_style_rule_data<'a, F>(&self, mut f: F) -> bool + where + Self: 'a, + F: FnMut(AtomicRef<'a, StyleRuleCascadeData>, QuirksMode), + { + let cut_off_inheritance = self.each_xbl_stylist(|stylist| { + let quirks_mode = stylist.quirks_mode(); + f( + AtomicRef::map(stylist, |stylist| stylist.normal_author_cascade_data()), + quirks_mode, + ) + }); + + let mut current = self.assigned_slot(); + while let Some(slot) = current { + slot.each_xbl_stylist(|stylist| { + let quirks_mode = stylist.quirks_mode(); + if stylist.slotted_author_cascade_data().is_some() { + f( + AtomicRef::map(stylist, |stylist| stylist.slotted_author_cascade_data().unwrap()), + quirks_mode, + ) + } + }); + + current = slot.assigned_slot(); + } + + cut_off_inheritance + } + /// Gets the current existing CSS transitions, by |property, end value| pairs in a FnvHashMap. #[cfg(feature = "gecko")] fn get_css_transitions_info(&self) diff --git a/components/style/invalidation/element/collector.rs b/components/style/invalidation/element/collector.rs index 008d6e428ea..b19198b2120 100644 --- a/components/style/invalidation/element/collector.rs +++ b/components/style/invalidation/element/collector.rs @@ -24,7 +24,7 @@ use selectors::matching::{MatchingContext, MatchingMode, VisitedHandlingMode}; use selectors::matching::matches_selector; use smallvec::SmallVec; use stylesheets::origin::{Origin, OriginSet}; -use stylist::Stylist; +use stylist::StyleRuleCascadeData; #[derive(Debug, PartialEq)] enum VisitedDependent { @@ -57,7 +57,7 @@ where /// changes. pub struct StateAndAttrInvalidationProcessor<'a, 'b: 'a, E: TElement> { shared_context: &'a SharedStyleContext<'b>, - xbl_stylists: &'a [AtomicRef<'b, Stylist>], + shadow_rule_datas: &'a [(AtomicRef<'b, StyleRuleCascadeData>, QuirksMode)], cut_off_inheritance: bool, element: E, data: &'a mut ElementData, @@ -68,7 +68,7 @@ impl<'a, 'b: 'a, E: TElement> StateAndAttrInvalidationProcessor<'a, 'b, E> { /// Creates a new StateAndAttrInvalidationProcessor. pub fn new( shared_context: &'a SharedStyleContext<'b>, - xbl_stylists: &'a [AtomicRef<'b, Stylist>], + shadow_rule_datas: &'a [(AtomicRef<'b, StyleRuleCascadeData>, QuirksMode)], cut_off_inheritance: bool, element: E, data: &'a mut ElementData, @@ -84,7 +84,7 @@ impl<'a, 'b: 'a, E: TElement> StateAndAttrInvalidationProcessor<'a, 'b, E> { Self { shared_context, - xbl_stylists, + shadow_rule_datas, cut_off_inheritance, element, data, @@ -211,20 +211,18 @@ where OriginSet::all() }; - self.shared_context.stylist.each_invalidation_map(|invalidation_map, origin| { + self.shared_context.stylist.each_normal_rule_cascade_data(|cascade_data, origin| { if document_origins.contains(origin.into()) { - collector.collect_dependencies_in_invalidation_map(invalidation_map); + collector.collect_dependencies_in_invalidation_map(cascade_data.invalidation_map()); } }); - for stylist in self.xbl_stylists { - // FIXME(emilio): Replace with assert / remove when we - // figure out what to do with the quirks mode mismatches + for &(ref data, quirks_mode) in self.shadow_rule_datas { + // FIXME(emilio): Replace with assert / remove when we figure + // out what to do with the quirks mode mismatches // (that is, when bug 1406875 is properly fixed). - collector.quirks_mode = stylist.quirks_mode(); - stylist.each_invalidation_map(|invalidation_map, _| { - collector.collect_dependencies_in_invalidation_map(invalidation_map); - }) + collector.quirks_mode = quirks_mode; + collector.collect_dependencies_in_invalidation_map(data.invalidation_map()); } collector.invalidates_self diff --git a/components/style/stylesheet_set.rs b/components/style/stylesheet_set.rs index f9e38f44152..c3cc0c7799d 100644 --- a/components/style/stylesheet_set.rs +++ b/components/style/stylesheet_set.rs @@ -133,6 +133,7 @@ where } /// The type of rebuild that we need to do for a given stylesheet. +#[derive(Clone, Copy, Debug)] pub enum SheetRebuildKind { /// A full rebuild, of both cascade data and invalidation data. Full, diff --git a/components/style/stylist.rs b/components/style/stylist.rs index f4d7a2c8dd9..22ee05bafc9 100644 --- a/components/style/stylist.rs +++ b/components/style/stylist.rs @@ -132,7 +132,7 @@ impl UserAgentCascadeDataCache { } #[cfg(feature = "gecko")] - pub fn add_size_of(&self, ops: &mut MallocSizeOfOps, sizes: &mut ServoStyleSetSizes) { + fn add_size_of(&self, ops: &mut MallocSizeOfOps, sizes: &mut ServoStyleSetSizes) { sizes.mOther += self.entries.shallow_size_of(ops); for arc in self.entries.iter() { // These are primary Arc references that can be measured @@ -465,27 +465,30 @@ impl Stylist { /// Returns the number of revalidation_selectors. pub fn num_revalidation_selectors(&self) -> usize { self.cascade_data.iter_origins() - .map(|(d, _)| d.selectors_for_cache_revalidation.len()).sum() + .map(|(data, _)| { + data.normal_style_rule_data.selectors_for_cache_revalidation.len() + + data.slotted_rule_data.as_ref().map_or(0, |d| { + d.selectors_for_cache_revalidation.len() + }) + }).sum() } /// Returns the number of entries in invalidation maps. pub fn num_invalidations(&self) -> usize { self.cascade_data.iter_origins() - .map(|(d, _)| d.invalidation_map.len()).sum() + .map(|(data, _)| { + data.normal_style_rule_data.invalidation_map.len() + + data.slotted_rule_data.as_ref().map_or(0, |d| d.invalidation_map.len()) + }).sum() } - /// Invokes `f` with the `InvalidationMap` for each origin. - /// - /// NOTE(heycam) This might be better as an `iter_invalidation_maps`, once - /// we have `impl trait` and can return that easily without bothering to - /// create a whole new iterator type. - pub fn each_invalidation_map<'a, F>(&'a self, mut f: F) - where - F: FnMut(&'a InvalidationMap, Origin) - { - for (data, origin) in self.cascade_data.iter_origins() { - f(&data.invalidation_map, origin) - } + /// Returns whether the given DocumentState bit is relied upon by a selector + /// of some rule. + pub fn has_document_state_dependency(&self, state: DocumentState) -> bool { + self.cascade_data.iter_origins() + .any(|(d, _)| { + d.normal_style_rule_data.has_document_state_dependency(state) + }) } /// Flush the list of stylesheets if they changed, ensuring the stylist is @@ -601,40 +604,39 @@ impl Stylist { self.stylesheets.remove_stylesheet(Some(&self.device), sheet, guard) } - /// Returns whether the given attribute might appear in an attribute - /// selector of some rule in the stylist. - pub fn might_have_attribute_dependency( - &self, - local_name: &LocalName, - ) -> bool { - if *local_name == local_name!("style") { - self.cascade_data - .iter_origins() - .any(|(d, _)| d.style_attribute_dependency) - } else { - self.cascade_data - .iter_origins() - .any(|(d, _)| { - d.attribute_dependencies - .might_contain_hash(local_name.get_hash()) - }) + /// Executes `f` on each of the normal rule cascade datas in this styleset. + pub fn each_normal_rule_cascade_data<'a, F>(&'a self, mut f: F) + where + F: FnMut(&'a StyleRuleCascadeData, Origin), + { + for (data, origin) in self.cascade_data.iter_origins() { + f(&data.normal_style_rule_data, origin); } } - /// Returns whether the given ElementState bit is relied upon by a selector - /// of some rule in the stylist. - pub fn has_state_dependency(&self, state: ElementState) -> bool { - self.cascade_data - .iter_origins() - .any(|(d, _)| d.state_dependencies.intersects(state)) - } + /// Returns whether for any of the applicable style rule data a given + /// condition is true. + pub fn any_applicable_rule_data(&self, element: E, mut f: F) -> bool + where + E: TElement, + F: FnMut(&StyleRuleCascadeData, QuirksMode) -> bool, + { + if f(&self.cascade_data.user_agent.cascade_data.normal_style_rule_data, self.quirks_mode()) { + return true; + } - /// Returns whether the given DocumentState bit is relied upon by a selector - /// of some rule in the stylist. - pub fn has_document_state_dependency(&self, state: DocumentState) -> bool { - self.cascade_data - .iter_origins() - .any(|(d, _)| d.document_state_dependencies.intersects(state)) + let mut maybe = false; + + let cut_off = element.each_applicable_non_document_style_rule_data(|data, quirks_mode| { + maybe = maybe || f(&*data, quirks_mode); + }); + + if maybe || cut_off { + return maybe; + } + + f(&self.cascade_data.author.normal_style_rule_data, self.quirks_mode()) || + f(&self.cascade_data.user.normal_style_rule_data, self.quirks_mode()) } /// Computes the style for a given "precomputed" pseudo-element, taking the @@ -1232,7 +1234,7 @@ impl Stylist { rule_hash_target.matches_user_and_author_rules(); // Step 1: Normal user-agent rules. - if let Some(map) = self.cascade_data.user_agent.cascade_data.rules.borrow_for_pseudo(pseudo_element) { + if let Some(map) = self.cascade_data.user_agent.cascade_data.normal_rules(pseudo_element) { map.get_all_matching_rules( element, &rule_hash_target, @@ -1270,7 +1272,7 @@ impl Stylist { // Which may be more what you would probably expect. if matches_user_and_author_rules { // Step 3a: User normal rules. - if let Some(map) = self.cascade_data.user.rules.borrow_for_pseudo(pseudo_element) { + if let Some(map) = self.cascade_data.user.normal_rules(pseudo_element) { map.get_all_matching_rules( element, &rule_hash_target, @@ -1289,7 +1291,7 @@ impl Stylist { let cut_off_inheritance = element.each_xbl_stylist(|stylist| { // ServoStyleSet::CreateXBLServoStyleSet() loads XBL style sheets // under eAuthorSheetFeatures level. - if let Some(map) = stylist.cascade_data.author.rules.borrow_for_pseudo(pseudo_element) { + if let Some(map) = stylist.cascade_data.author.normal_rules(pseudo_element) { // NOTE(emilio): This is needed because the XBL stylist may // think it has a different quirks mode than the document. // @@ -1320,7 +1322,7 @@ impl Stylist { !cut_off_inheritance { // Step 3c: Author normal rules. - if let Some(map) = self.cascade_data.author.rules.borrow_for_pseudo(pseudo_element) { + if let Some(map) = self.cascade_data.author.normal_rules(pseudo_element) { map.get_all_matching_rules( element, &rule_hash_target, @@ -1338,9 +1340,7 @@ impl Stylist { // maybe we need to merge the sorting with the above // get_all_matching_rules. slot.each_xbl_stylist(|stylist| { - let slotted_rules = - stylist.cascade_data.author.slotted_rules.as_ref(); - if let Some(map) = slotted_rules.and_then(|r| r.borrow_for_pseudo(pseudo_element)) { + if let Some(map) = stylist.cascade_data.author.slotted_rules(pseudo_element) { map.get_all_matching_rules( element, &rule_hash_target, @@ -1431,23 +1431,26 @@ impl Stylist { } let hash = id.get_hash(); - for (data, _) in self.cascade_data.iter_origins() { - if data.mapped_ids.might_contain_hash(hash) { - return true; - } - } + self.any_applicable_rule_data(element, |data, _| { + data.mapped_ids.might_contain_hash(hash) + }) + } - let mut xbl_rules_may_contain = false; + /// Returns the cascade data for the normal rules. + #[inline] + pub fn normal_author_cascade_data(&self) -> &StyleRuleCascadeData { + &self.cascade_data.author.normal_style_rule_data + } - element.each_xbl_stylist(|stylist| { - xbl_rules_may_contain = xbl_rules_may_contain || - stylist.cascade_data.author.mapped_ids.might_contain_hash(hash) - }); - - xbl_rules_may_contain + /// Returns the cascade data for the slotted rules in this scope, if any. + #[inline] + pub fn slotted_author_cascade_data(&self) -> Option<&StyleRuleCascadeData> { + self.cascade_data.author.slotted_rule_data.as_ref().map(|d| &**d) } /// Returns the registered `@keyframes` animation for the specified name. + /// + /// FIXME(emilio): This needs to account for the element rules. #[inline] pub fn get_animation(&self, name: &Atom) -> Option<&KeyframesAnimation> { self.cascade_data @@ -1485,7 +1488,7 @@ impl Stylist { // this in the caller by asserting that the bitvecs are same-length. let mut results = SmallBitVec::new(); for (data, _) in self.cascade_data.iter_origins() { - data.selectors_for_cache_revalidation.lookup( + data.normal_style_rule_data.selectors_for_cache_revalidation.lookup( element, self.quirks_mode, |selector_and_hashes| { @@ -1502,10 +1505,10 @@ impl Stylist { ); } - element.each_xbl_stylist(|stylist| { - stylist.cascade_data.author.selectors_for_cache_revalidation.lookup( + element.each_applicable_non_document_style_rule_data(|data, quirks_mode| { + data.selectors_for_cache_revalidation.lookup( element, - stylist.quirks_mode, + quirks_mode, |selector_and_hashes| { results.push(matches_selector( &selector_and_hashes.selector, @@ -1862,6 +1865,7 @@ impl<'a> SelectorVisitor for StylistSelectorVisitor<'a> { /// A set of rules for element and pseudo-elements. #[derive(Debug, Default)] +#[cfg_attr(feature = "servo", derive(MallocSizeOf))] struct ElementAndPseudoRules { /// Rules from stylesheets at this `CascadeData`'s origin. element_map: SelectorMap, @@ -1924,31 +1928,14 @@ impl ElementAndPseudoRules { } } -/// Data resulting from performing the CSS cascade that is specific to a given -/// origin. -/// -/// FIXME(emilio): Consider renaming and splitting in `CascadeData` and -/// `InvalidationData`? That'd make `clear_cascade_data()` clearer. -#[cfg_attr(feature = "servo", derive(MallocSizeOf))] +/// Cascade data generated from style rules. #[derive(Debug)] -struct CascadeData { - /// The rules at this cascade level. +#[cfg_attr(feature = "servo", derive(MallocSizeOf))] +pub struct StyleRuleCascadeData { + /// The actual style rules. rules: ElementAndPseudoRules, - /// ::slotted() pseudo-element rules. - /// - /// We need to store them separately because an element needs to match scoped - /// pseudo-element rules in different style scopes. - /// - /// In particular, you need to go through all the style data in all the - /// containing style scopes starting from the closest assigned slot. - slotted_rules: Option>, - - /// A map with all the animations at this `CascadeData`'s origin, indexed - /// by name. - animations: PrecomputedHashMap, - - /// The invalidation map for the rules at this origin. + /// The invalidation map for these rules. invalidation_map: InvalidationMap, /// The attribute local names that appear in attribute selectors. Used @@ -1988,6 +1975,146 @@ struct CascadeData { /// tree-structural state like child index and pseudos). #[cfg_attr(feature = "servo", ignore_malloc_size_of = "Arc")] selectors_for_cache_revalidation: SelectorMap, +} + +impl StyleRuleCascadeData { + #[inline(always)] + fn insert( + &mut self, + rule: Rule, + pseudo_element: Option<&PseudoElement>, + quirks_mode: QuirksMode, + rebuild_kind: SheetRebuildKind, + ) -> Result<(), FailedAllocationError> { + if rebuild_kind.should_rebuild_invalidation() { + self.invalidation_map.note_selector(&rule.selector, quirks_mode)?; + let mut visitor = StylistSelectorVisitor { + needs_revalidation: false, + passed_rightmost_selector: false, + attribute_dependencies: &mut self.attribute_dependencies, + style_attribute_dependency: &mut self.style_attribute_dependency, + state_dependencies: &mut self.state_dependencies, + document_state_dependencies: &mut self.document_state_dependencies, + mapped_ids: &mut self.mapped_ids, + }; + + rule.selector.visit(&mut visitor); + + if visitor.needs_revalidation { + self.selectors_for_cache_revalidation.insert( + RevalidationSelectorAndHashes::new( + rule.selector.clone(), + rule.hashes.clone(), + ), + quirks_mode + )?; + } + } + + self.rules.insert(rule, pseudo_element, quirks_mode) + } + + /// Returns the invalidation map. + #[inline] + pub fn invalidation_map(&self) -> &InvalidationMap { + &self.invalidation_map + } + + #[cfg(feature = "gecko")] + fn add_size_of(&self, ops: &mut MallocSizeOfOps, sizes: &mut ServoStyleSetSizes) { + self.rules.add_size_of(ops, sizes); + sizes.mInvalidationMap += self.invalidation_map.size_of(ops); + sizes.mRevalidationSelectors += self.selectors_for_cache_revalidation.size_of(ops); + } + + fn clear_cascade_data(&mut self) { + self.rules.clear(); + } + + fn clear(&mut self) { + self.clear_cascade_data(); + self.invalidation_map.clear(); + self.attribute_dependencies.clear(); + self.style_attribute_dependency = false; + self.state_dependencies = ElementState::empty(); + self.document_state_dependencies = DocumentState::empty(); + self.mapped_ids.clear(); + self.selectors_for_cache_revalidation.clear(); + } + + /// Returns whether the given attribute might appear in an attribute + /// selector of some rule. + #[inline] + pub fn might_have_attribute_dependency( + &self, + local_name: &LocalName, + ) -> bool { + if *local_name == local_name!("style") { + return self.style_attribute_dependency + } + + self.attribute_dependencies.might_contain_hash(local_name.get_hash()) + } + + /// Returns whether the given ElementState bit is relied upon by a selector + /// of some rule. + #[inline] + pub fn has_state_dependency(&self, state: ElementState) -> bool { + self.state_dependencies.intersects(state) + } + + /// Returns whether the given DocumentState bit is relied upon by a selector + /// of some rule in the stylist. + #[inline] + fn has_document_state_dependency(&self, state: DocumentState) -> bool { + self.document_state_dependencies.intersects(state) + } +} + +impl StyleRuleCascadeData { + fn new() -> Self { + Self { + rules: ElementAndPseudoRules::default(), + invalidation_map: InvalidationMap::new(), + attribute_dependencies: NonCountingBloomFilter::new(), + style_attribute_dependency: false, + state_dependencies: ElementState::empty(), + document_state_dependencies: DocumentState::empty(), + mapped_ids: NonCountingBloomFilter::new(), + selectors_for_cache_revalidation: SelectorMap::new(), + } + } + + #[inline] + fn rules(&self, pseudo: Option<&PseudoElement>) -> Option<&SelectorMap> { + self.rules.borrow_for_pseudo(pseudo) + } +} + +/// Data resulting from performing the CSS cascade that is specific to a given +/// origin. +/// +/// FIXME(emilio): Consider renaming and splitting in `CascadeData` and +/// `InvalidationData`? That'd make `clear_cascade_data()` clearer. +#[cfg_attr(feature = "servo", derive(MallocSizeOf))] +#[derive(Debug)] +struct CascadeData { + /// The data coming from normal style rules that apply to elements at this + /// cascade level. + normal_style_rule_data: StyleRuleCascadeData, + + /// The data coming from ::slotted() pseudo-element rules. + /// + /// We need to store them separately because an element needs to match + /// ::slotted() pseudo-element rules in different shadow roots. + /// + /// In particular, we need to go through all the style data in all the + /// containing style scopes starting from the closest assigned slot. + slotted_rule_data: Option>, + + /// A map with all the animations at this `CascadeData`'s origin, indexed + /// by name. + animations: PrecomputedHashMap, /// Effective media query results cached from the last rebuild. effective_media_query_results: EffectiveMediaQueryResults, @@ -2009,17 +2136,10 @@ struct CascadeData { impl CascadeData { fn new() -> Self { Self { - rules: ElementAndPseudoRules::default(), - slotted_rules: None, + normal_style_rule_data: StyleRuleCascadeData::new(), + slotted_rule_data: None, animations: Default::default(), extra_data: ExtraStyleData::default(), - invalidation_map: InvalidationMap::new(), - attribute_dependencies: NonCountingBloomFilter::new(), - style_attribute_dependency: false, - state_dependencies: ElementState::empty(), - document_state_dependencies: DocumentState::empty(), - mapped_ids: NonCountingBloomFilter::new(), - selectors_for_cache_revalidation: SelectorMap::new(), effective_media_query_results: EffectiveMediaQueryResults::new(), rules_source_order: 0, num_selectors: 0, @@ -2027,6 +2147,16 @@ impl CascadeData { } } + #[inline] + fn normal_rules(&self, pseudo: Option<&PseudoElement>) -> Option<&SelectorMap> { + self.normal_style_rule_data.rules(pseudo) + } + + #[inline] + fn slotted_rules(&self, pseudo: Option<&PseudoElement>) -> Option<&SelectorMap> { + self.slotted_rule_data.as_ref().and_then(|d| d.rules(pseudo)) + } + /// Collects all the applicable media query results into `results`. /// /// This duplicates part of the logic in `add_stylesheet`, which is @@ -2125,43 +2255,26 @@ impl CascadeData { let rule = Rule::new( selector.clone(), - hashes.clone(), + hashes, locked.clone(), self.rules_source_order ); - if selector.is_slotted() { - if self.slotted_rules.is_none() { - self.slotted_rules = Some(Default::default()); + let style_rule_cascade_data = if selector.is_slotted() { + if self.slotted_rule_data.is_none() { + self.slotted_rule_data = Some(Box::new(StyleRuleCascadeData::new())); } - let slotted_rules = self.slotted_rules.as_mut().unwrap(); - slotted_rules.insert(rule, pseudo_element, quirks_mode)?; + self.slotted_rule_data.as_mut().unwrap() } else { - self.rules.insert(rule, pseudo_element, quirks_mode)?; - } + &mut self.normal_style_rule_data + }; - if rebuild_kind.should_rebuild_invalidation() { - self.invalidation_map - .note_selector(selector, quirks_mode)?; - let mut visitor = StylistSelectorVisitor { - needs_revalidation: false, - passed_rightmost_selector: false, - attribute_dependencies: &mut self.attribute_dependencies, - style_attribute_dependency: &mut self.style_attribute_dependency, - state_dependencies: &mut self.state_dependencies, - document_state_dependencies: &mut self.document_state_dependencies, - mapped_ids: &mut self.mapped_ids, - }; - - selector.visit(&mut visitor); - - if visitor.needs_revalidation { - self.selectors_for_cache_revalidation.insert( - RevalidationSelectorAndHashes::new(selector.clone(), hashes), - quirks_mode - )?; - } - } + style_rule_cascade_data.insert( + rule, + pseudo_element, + quirks_mode, + rebuild_kind, + )?; } self.rules_source_order += 1; } @@ -2313,8 +2426,10 @@ impl CascadeData { /// Clears the cascade data, but not the invalidation data. fn clear_cascade_data(&mut self) { - self.rules.clear(); - self.slotted_rules = None; + self.normal_style_rule_data.clear_cascade_data(); + if let Some(ref mut slotted_rule_data) = self.slotted_rule_data { + slotted_rule_data.clear_cascade_data(); + } self.animations.clear(); self.extra_data.clear(); self.rules_source_order = 0; @@ -2324,30 +2439,21 @@ impl CascadeData { fn clear(&mut self) { self.clear_cascade_data(); + self.normal_style_rule_data.clear(); + if let Some(ref mut slotted_rule_data) = self.slotted_rule_data { + slotted_rule_data.clear(); + } self.effective_media_query_results.clear(); - self.invalidation_map.clear(); - self.attribute_dependencies.clear(); - self.style_attribute_dependency = false; - self.state_dependencies = ElementState::empty(); - self.document_state_dependencies = DocumentState::empty(); - self.mapped_ids.clear(); - self.selectors_for_cache_revalidation.clear(); } /// Measures heap usage. #[cfg(feature = "gecko")] - pub fn add_size_of(&self, ops: &mut MallocSizeOfOps, sizes: &mut ServoStyleSetSizes) { - self.rules.add_size_of(ops, sizes); - if let Some(ref slotted_rules) = self.slotted_rules { + fn add_size_of(&self, ops: &mut MallocSizeOfOps, sizes: &mut ServoStyleSetSizes) { + self.normal_style_rule_data.add_size_of(ops, sizes); + if let Some(ref slotted_rules) = self.slotted_rule_data { slotted_rules.add_size_of(ops, sizes); } - sizes.mOther += self.animations.size_of(ops); - - sizes.mInvalidationMap += self.invalidation_map.size_of(ops); - - sizes.mRevalidationSelectors += self.selectors_for_cache_revalidation.size_of(ops); - sizes.mOther += self.effective_media_query_results.size_of(ops); sizes.mOther += self.extra_data.size_of(ops); } diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index e12b4d1307d..f38346a1532 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -4326,25 +4326,14 @@ pub extern "C" fn Servo_StyleSet_MightHaveAttributeDependency( ) -> bool { let data = PerDocumentStyleData::from_ffi(raw_data).borrow(); let element = GeckoElement(element); - let mut has_dep = false; unsafe { Atom::with(local_name, |atom| { - has_dep = data.stylist.might_have_attribute_dependency(atom); - - if !has_dep { - // TODO(emilio): Consider optimizing this storing attribute - // dependencies from UA sheets separately, so we could optimize - // the above lookup if cut_off_inheritance is true. - element.each_xbl_stylist(|stylist| { - has_dep = - has_dep || stylist.might_have_attribute_dependency(atom); - }); - } + data.stylist.any_applicable_rule_data(element, |data, _| { + data.might_have_attribute_dependency(atom) + }) }) } - - has_dep } #[no_mangle] @@ -4358,17 +4347,9 @@ pub extern "C" fn Servo_StyleSet_HasStateDependency( let state = ElementState::from_bits_truncate(state); let data = PerDocumentStyleData::from_ffi(raw_data).borrow(); - let mut has_dep = data.stylist.has_state_dependency(state); - if !has_dep { - // TODO(emilio): Consider optimizing this storing attribute - // dependencies from UA sheets separately, so we could optimize - // the above lookup if cut_off_inheritance is true. - element.each_xbl_stylist(|stylist| { - has_dep = has_dep || stylist.has_state_dependency(state); - }); - } - - has_dep + data.stylist.any_applicable_rule_data(element, |data, _| { + data.has_state_dependency(state) + }) } #[no_mangle] From 76257ae4df6e658288b8845fbd70b9fb0f5fd64f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Mon, 18 Dec 2017 12:53:38 +0100 Subject: [PATCH 06/10] style: Add a necessary check for style sharing between ::slotted() nodes. If two elements are assigned to different slots, even within the same shadow root, they could match different rules, due to the slot being assigned to yet another slot in another shadow root. MozReview-Commit-ID: CfZJCVxIQzM --- components/style/sharing/mod.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/components/style/sharing/mod.rs b/components/style/sharing/mod.rs index 6a2e16a1177..fd25c1b72cc 100644 --- a/components/style/sharing/mod.rs +++ b/components/style/sharing/mod.rs @@ -668,6 +668,17 @@ impl StyleSharingCache { return None; } + // If the elements are not assigned to the same slot they could match + // different ::slotted() rules in the slot scope. + // + // If two elements are assigned to different slots, even within the same + // shadow root, they could match different rules, due to the slot being + // assigned to yet another slot in another shadow root. + if target.element.assigned_slot() != candidate.element.assigned_slot() { + trace!("Miss: Different style scopes"); + return None; + } + if *target.get_local_name() != *candidate.element.get_local_name() { trace!("Miss: Local Name"); return None; From b73fe2d698dafed2ac025a50d361ce26529a56a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Mon, 18 Dec 2017 13:57:48 +0100 Subject: [PATCH 07/10] style: Match slots in reverse tree order. MozReview-Commit-ID: 7OfHuDDn2Aw --- components/style/stylist.rs | 60 +++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 25 deletions(-) diff --git a/components/style/stylist.rs b/components/style/stylist.rs index 22ee05bafc9..8fe4b1cbfa5 100644 --- a/components/style/stylist.rs +++ b/components/style/stylist.rs @@ -36,6 +36,7 @@ use selectors::visitor::SelectorVisitor; use servo_arc::{Arc, ArcBorrow}; use shared_lock::{Locked, SharedRwLockReadGuard, StylesheetGuards}; use smallbitvec::SmallBitVec; +use smallvec::SmallVec; use std::ops; use std::sync::Mutex; use style_traits::viewport::ViewportConstraints; @@ -1285,9 +1286,41 @@ impl Stylist { } } - // Step 3b: XBL rules. + // Step 3b: XBL / Shadow DOM rules. // - // TODO(emilio): Ensure cascade order is correct for Shadow DOM. + // TODO(emilio): Cascade order here is wrong for Shadow DOM. In + // particular, normally document rules override ::slotted() rules, but + // for !important it should be the other way around. So probably we need + // to add some sort of AuthorScoped cascade level or something. + if !only_default_rules { + // Match slotted rules in reverse order, so that the outer slotted + // rules come before the inner rules (and thus have less priority). + let mut slots = SmallVec::<[_; 3]>::new(); + let mut current = rule_hash_target.assigned_slot(); + while let Some(slot) = current { + slots.push(slot); + current = slot.assigned_slot(); + } + + for slot in slots.iter().rev() { + slot.each_xbl_stylist(|stylist| { + if let Some(map) = stylist.cascade_data.author.slotted_rules(pseudo_element) { + map.get_all_matching_rules( + element, + &rule_hash_target, + applicable_declarations, + context, + self.quirks_mode, + flags_setter, + CascadeLevel::AuthorNormal + ); + } + }); + } + } + + // FIXME(emilio): It looks very wrong to match XBL / Shadow DOM rules + // even for getDefaultComputedStyle! let cut_off_inheritance = element.each_xbl_stylist(|stylist| { // ServoStyleSet::CreateXBLServoStyleSet() loads XBL style sheets // under eAuthorSheetFeatures level. @@ -1333,29 +1366,6 @@ impl Stylist { CascadeLevel::AuthorNormal ); } - - let mut current = rule_hash_target.assigned_slot(); - while let Some(slot) = current { - // TODO(emilio): Ensure this is the expected cascade order, - // maybe we need to merge the sorting with the above - // get_all_matching_rules. - slot.each_xbl_stylist(|stylist| { - if let Some(map) = stylist.cascade_data.author.slotted_rules(pseudo_element) { - map.get_all_matching_rules( - element, - &rule_hash_target, - applicable_declarations, - context, - self.quirks_mode, - flags_setter, - CascadeLevel::AuthorNormal - ); - } - }); - - current = slot.assigned_slot(); - } - } if !only_default_rules { From d88696023f485c44a3e666c3fe6ead7223767817 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Mon, 18 Dec 2017 09:20:59 +0100 Subject: [PATCH 08/10] style: Parse ::slotted() if the webcomponents pref is on. Bug: 1425834 Reviewed-by: heycam MozReview-Commit-ID: IOFneIgu7Rm --- components/style/gecko/selector_parser.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/components/style/gecko/selector_parser.rs b/components/style/gecko/selector_parser.rs index 0dec6ed479a..72da9346a36 100644 --- a/components/style/gecko/selector_parser.rs +++ b/components/style/gecko/selector_parser.rs @@ -6,7 +6,7 @@ use cssparser::{BasicParseError, BasicParseErrorKind, Parser, ToCss, Token, CowRcStr, SourceLocation}; use element_state::{DocumentState, ElementState}; -use gecko_bindings::structs::CSSPseudoClassType; +use gecko_bindings::structs::{self, CSSPseudoClassType}; use gecko_bindings::structs::RawServoSelectorList; use gecko_bindings::sugar::ownership::{HasBoxFFI, HasFFI, HasSimpleFFI}; use selector_parser::{Direction, SelectorParser}; @@ -333,6 +333,13 @@ impl<'a, 'i> ::selectors::Parser<'i> for SelectorParser<'a> { type Impl = SelectorImpl; type Error = StyleParseErrorKind<'i>; + fn parse_slotted(&self) -> bool { + // NOTE(emilio): Slot assignment and such works per-document, but + // getting a document around here is not trivial, and it's not worth + // anyway to handle this in a per-doc basis. + unsafe { structs::nsContentUtils_sIsWebComponentsEnabled } + } + fn pseudo_element_allows_single_colon(name: &str) -> bool { // FIXME: -moz-tree check should probably be ascii-case-insensitive. ::selectors::parser::is_css2_pseudo_element(name) || From 26c7d307b7f4a36cf4d40dba31cc188bea96edbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Mon, 8 Jan 2018 12:47:07 +0100 Subject: [PATCH 09/10] style: rename normal_style_rule_data to normal_rule_data for consistency. MozReview-Commit-ID: HyWAsI7VP2p --- components/style/stylist.rs | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/components/style/stylist.rs b/components/style/stylist.rs index 8fe4b1cbfa5..e499f3cb646 100644 --- a/components/style/stylist.rs +++ b/components/style/stylist.rs @@ -467,7 +467,7 @@ impl Stylist { pub fn num_revalidation_selectors(&self) -> usize { self.cascade_data.iter_origins() .map(|(data, _)| { - data.normal_style_rule_data.selectors_for_cache_revalidation.len() + + data.normal_rule_data.selectors_for_cache_revalidation.len() + data.slotted_rule_data.as_ref().map_or(0, |d| { d.selectors_for_cache_revalidation.len() }) @@ -478,7 +478,7 @@ impl Stylist { pub fn num_invalidations(&self) -> usize { self.cascade_data.iter_origins() .map(|(data, _)| { - data.normal_style_rule_data.invalidation_map.len() + + data.normal_rule_data.invalidation_map.len() + data.slotted_rule_data.as_ref().map_or(0, |d| d.invalidation_map.len()) }).sum() } @@ -488,7 +488,7 @@ impl Stylist { pub fn has_document_state_dependency(&self, state: DocumentState) -> bool { self.cascade_data.iter_origins() .any(|(d, _)| { - d.normal_style_rule_data.has_document_state_dependency(state) + d.normal_rule_data.has_document_state_dependency(state) }) } @@ -611,7 +611,7 @@ impl Stylist { F: FnMut(&'a StyleRuleCascadeData, Origin), { for (data, origin) in self.cascade_data.iter_origins() { - f(&data.normal_style_rule_data, origin); + f(&data.normal_rule_data, origin); } } @@ -622,7 +622,7 @@ impl Stylist { E: TElement, F: FnMut(&StyleRuleCascadeData, QuirksMode) -> bool, { - if f(&self.cascade_data.user_agent.cascade_data.normal_style_rule_data, self.quirks_mode()) { + if f(&self.cascade_data.user_agent.cascade_data.normal_rule_data, self.quirks_mode()) { return true; } @@ -636,8 +636,8 @@ impl Stylist { return maybe; } - f(&self.cascade_data.author.normal_style_rule_data, self.quirks_mode()) || - f(&self.cascade_data.user.normal_style_rule_data, self.quirks_mode()) + f(&self.cascade_data.author.normal_rule_data, self.quirks_mode()) || + f(&self.cascade_data.user.normal_rule_data, self.quirks_mode()) } /// Computes the style for a given "precomputed" pseudo-element, taking the @@ -1449,7 +1449,7 @@ impl Stylist { /// Returns the cascade data for the normal rules. #[inline] pub fn normal_author_cascade_data(&self) -> &StyleRuleCascadeData { - &self.cascade_data.author.normal_style_rule_data + &self.cascade_data.author.normal_rule_data } /// Returns the cascade data for the slotted rules in this scope, if any. @@ -1498,7 +1498,7 @@ impl Stylist { // this in the caller by asserting that the bitvecs are same-length. let mut results = SmallBitVec::new(); for (data, _) in self.cascade_data.iter_origins() { - data.normal_style_rule_data.selectors_for_cache_revalidation.lookup( + data.normal_rule_data.selectors_for_cache_revalidation.lookup( element, self.quirks_mode, |selector_and_hashes| { @@ -2111,7 +2111,7 @@ impl StyleRuleCascadeData { struct CascadeData { /// The data coming from normal style rules that apply to elements at this /// cascade level. - normal_style_rule_data: StyleRuleCascadeData, + normal_rule_data: StyleRuleCascadeData, /// The data coming from ::slotted() pseudo-element rules. /// @@ -2146,7 +2146,7 @@ struct CascadeData { impl CascadeData { fn new() -> Self { Self { - normal_style_rule_data: StyleRuleCascadeData::new(), + normal_rule_data: StyleRuleCascadeData::new(), slotted_rule_data: None, animations: Default::default(), extra_data: ExtraStyleData::default(), @@ -2159,7 +2159,7 @@ impl CascadeData { #[inline] fn normal_rules(&self, pseudo: Option<&PseudoElement>) -> Option<&SelectorMap> { - self.normal_style_rule_data.rules(pseudo) + self.normal_rule_data.rules(pseudo) } #[inline] @@ -2276,7 +2276,7 @@ impl CascadeData { } self.slotted_rule_data.as_mut().unwrap() } else { - &mut self.normal_style_rule_data + &mut self.normal_rule_data }; style_rule_cascade_data.insert( @@ -2436,7 +2436,7 @@ impl CascadeData { /// Clears the cascade data, but not the invalidation data. fn clear_cascade_data(&mut self) { - self.normal_style_rule_data.clear_cascade_data(); + self.normal_rule_data.clear_cascade_data(); if let Some(ref mut slotted_rule_data) = self.slotted_rule_data { slotted_rule_data.clear_cascade_data(); } @@ -2449,7 +2449,7 @@ impl CascadeData { fn clear(&mut self) { self.clear_cascade_data(); - self.normal_style_rule_data.clear(); + self.normal_rule_data.clear(); if let Some(ref mut slotted_rule_data) = self.slotted_rule_data { slotted_rule_data.clear(); } @@ -2459,7 +2459,7 @@ impl CascadeData { /// Measures heap usage. #[cfg(feature = "gecko")] fn add_size_of(&self, ops: &mut MallocSizeOfOps, sizes: &mut ServoStyleSetSizes) { - self.normal_style_rule_data.add_size_of(ops, sizes); + self.normal_rule_data.add_size_of(ops, sizes); if let Some(ref slotted_rules) = self.slotted_rule_data { slotted_rules.add_size_of(ops, sizes); } From bfc91c5e1244dcd567545e10e3fe83b7e77a79e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Mon, 8 Jan 2018 11:30:33 +0100 Subject: [PATCH 10/10] style: Update bindings. --- .../style/gecko/generated/atom_macro.rs | 64 ++----------- components/style/gecko/generated/bindings.rs | 2 +- components/style/gecko/generated/structs.rs | 90 ++++++++++++------- 3 files changed, 67 insertions(+), 89 deletions(-) diff --git a/components/style/gecko/generated/atom_macro.rs b/components/style/gecko/generated/atom_macro.rs index 4eafda35bc7..968bef41ffb 100644 --- a/components/style/gecko/generated/atom_macro.rs +++ b/components/style/gecko/generated/atom_macro.rs @@ -2276,8 +2276,6 @@ cfg_if! { pub static nsGkAtoms_rect: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms9rectangleE"] pub static nsGkAtoms_rectangle: *mut nsStaticAtom; - #[link_name = "_ZN9nsGkAtoms3refE"] - pub static nsGkAtoms_ref: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms7refreshE"] pub static nsGkAtoms_refresh: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms3relE"] @@ -2312,8 +2310,6 @@ cfg_if! { pub static nsGkAtoms_resizer: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms10resolutionE"] pub static nsGkAtoms_resolution: *mut nsStaticAtom; - #[link_name = "_ZN9nsGkAtoms8resourceE"] - pub static nsGkAtoms_resource: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms9resourcesE"] pub static nsGkAtoms_resources: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms6resultE"] @@ -2486,14 +2482,6 @@ cfg_if! { pub static nsGkAtoms_sorthints: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms10sortLockedE"] pub static nsGkAtoms_sortLocked: *mut nsStaticAtom; - #[link_name = "_ZN9nsGkAtoms12sortResourceE"] - pub static nsGkAtoms_sortResource: *mut nsStaticAtom; - #[link_name = "_ZN9nsGkAtoms13sortResource2E"] - pub static nsGkAtoms_sortResource2: *mut nsStaticAtom; - #[link_name = "_ZN9nsGkAtoms14sortSeparatorsE"] - pub static nsGkAtoms_sortSeparators: *mut nsStaticAtom; - #[link_name = "_ZN9nsGkAtoms15sortStaticsLastE"] - pub static nsGkAtoms_sortStaticsLast: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms6sourceE"] pub static nsGkAtoms_source: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms5spaceE"] @@ -4374,8 +4362,8 @@ cfg_if! { pub static nsGkAtoms_AsyncScrollLayerCreationFailed: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms19forcemessagemanagerE"] pub static nsGkAtoms_forcemessagemanager: *mut nsStaticAtom; - #[link_name = "_ZN9nsGkAtoms16isPreloadBrowserE"] - pub static nsGkAtoms_isPreloadBrowser: *mut nsStaticAtom; + #[link_name = "_ZN9nsGkAtoms14preloadedStateE"] + pub static nsGkAtoms_preloadedState: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms24scrollbar_start_backwardE"] pub static nsGkAtoms_scrollbar_start_backward: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms23scrollbar_start_forwardE"] @@ -7463,8 +7451,6 @@ cfg_if! { pub static nsGkAtoms_rect: *mut nsStaticAtom; #[link_name = "?rectangle@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_rectangle: *mut nsStaticAtom; - #[link_name = "?ref@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] - pub static nsGkAtoms_ref: *mut nsStaticAtom; #[link_name = "?refresh@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_refresh: *mut nsStaticAtom; #[link_name = "?rel@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] @@ -7499,8 +7485,6 @@ cfg_if! { pub static nsGkAtoms_resizer: *mut nsStaticAtom; #[link_name = "?resolution@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_resolution: *mut nsStaticAtom; - #[link_name = "?resource@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] - pub static nsGkAtoms_resource: *mut nsStaticAtom; #[link_name = "?resources@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_resources: *mut nsStaticAtom; #[link_name = "?result@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] @@ -7673,14 +7657,6 @@ cfg_if! { pub static nsGkAtoms_sorthints: *mut nsStaticAtom; #[link_name = "?sortLocked@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_sortLocked: *mut nsStaticAtom; - #[link_name = "?sortResource@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] - pub static nsGkAtoms_sortResource: *mut nsStaticAtom; - #[link_name = "?sortResource2@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] - pub static nsGkAtoms_sortResource2: *mut nsStaticAtom; - #[link_name = "?sortSeparators@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] - pub static nsGkAtoms_sortSeparators: *mut nsStaticAtom; - #[link_name = "?sortStaticsLast@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] - pub static nsGkAtoms_sortStaticsLast: *mut nsStaticAtom; #[link_name = "?source@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_source: *mut nsStaticAtom; #[link_name = "?space@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] @@ -9561,8 +9537,8 @@ cfg_if! { pub static nsGkAtoms_AsyncScrollLayerCreationFailed: *mut nsStaticAtom; #[link_name = "?forcemessagemanager@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_forcemessagemanager: *mut nsStaticAtom; - #[link_name = "?isPreloadBrowser@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] - pub static nsGkAtoms_isPreloadBrowser: *mut nsStaticAtom; + #[link_name = "?preloadedState@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] + pub static nsGkAtoms_preloadedState: *mut nsStaticAtom; #[link_name = "?scrollbar_start_backward@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_scrollbar_start_backward: *mut nsStaticAtom; #[link_name = "?scrollbar_start_forward@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] @@ -12650,8 +12626,6 @@ cfg_if! { pub static nsGkAtoms_rect: *mut nsStaticAtom; #[link_name = "\x01?rectangle@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_rectangle: *mut nsStaticAtom; - #[link_name = "\x01?ref@nsGkAtoms@@2PAVnsStaticAtom@@A"] - pub static nsGkAtoms_ref: *mut nsStaticAtom; #[link_name = "\x01?refresh@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_refresh: *mut nsStaticAtom; #[link_name = "\x01?rel@nsGkAtoms@@2PAVnsStaticAtom@@A"] @@ -12686,8 +12660,6 @@ cfg_if! { pub static nsGkAtoms_resizer: *mut nsStaticAtom; #[link_name = "\x01?resolution@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_resolution: *mut nsStaticAtom; - #[link_name = "\x01?resource@nsGkAtoms@@2PAVnsStaticAtom@@A"] - pub static nsGkAtoms_resource: *mut nsStaticAtom; #[link_name = "\x01?resources@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_resources: *mut nsStaticAtom; #[link_name = "\x01?result@nsGkAtoms@@2PAVnsStaticAtom@@A"] @@ -12860,14 +12832,6 @@ cfg_if! { pub static nsGkAtoms_sorthints: *mut nsStaticAtom; #[link_name = "\x01?sortLocked@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_sortLocked: *mut nsStaticAtom; - #[link_name = "\x01?sortResource@nsGkAtoms@@2PAVnsStaticAtom@@A"] - pub static nsGkAtoms_sortResource: *mut nsStaticAtom; - #[link_name = "\x01?sortResource2@nsGkAtoms@@2PAVnsStaticAtom@@A"] - pub static nsGkAtoms_sortResource2: *mut nsStaticAtom; - #[link_name = "\x01?sortSeparators@nsGkAtoms@@2PAVnsStaticAtom@@A"] - pub static nsGkAtoms_sortSeparators: *mut nsStaticAtom; - #[link_name = "\x01?sortStaticsLast@nsGkAtoms@@2PAVnsStaticAtom@@A"] - pub static nsGkAtoms_sortStaticsLast: *mut nsStaticAtom; #[link_name = "\x01?source@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_source: *mut nsStaticAtom; #[link_name = "\x01?space@nsGkAtoms@@2PAVnsStaticAtom@@A"] @@ -14748,8 +14712,8 @@ cfg_if! { pub static nsGkAtoms_AsyncScrollLayerCreationFailed: *mut nsStaticAtom; #[link_name = "\x01?forcemessagemanager@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_forcemessagemanager: *mut nsStaticAtom; - #[link_name = "\x01?isPreloadBrowser@nsGkAtoms@@2PAVnsStaticAtom@@A"] - pub static nsGkAtoms_isPreloadBrowser: *mut nsStaticAtom; + #[link_name = "\x01?preloadedState@nsGkAtoms@@2PAVnsStaticAtom@@A"] + pub static nsGkAtoms_preloadedState: *mut nsStaticAtom; #[link_name = "\x01?scrollbar_start_backward@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_scrollbar_start_backward: *mut nsStaticAtom; #[link_name = "\x01?scrollbar_start_forward@nsGkAtoms@@2PAVnsStaticAtom@@A"] @@ -17840,8 +17804,6 @@ macro_rules! atom { {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_rect as *mut _) } }}; ("rectangle") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_rectangle as *mut _) } }}; -("ref") => - {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_ref as *mut _) } }}; ("refresh") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_refresh as *mut _) } }}; ("rel") => @@ -17876,8 +17838,6 @@ macro_rules! atom { {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_resizer as *mut _) } }}; ("resolution") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_resolution as *mut _) } }}; -("resource") => - {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_resource as *mut _) } }}; ("resources") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_resources as *mut _) } }}; ("result") => @@ -18050,14 +18010,6 @@ macro_rules! atom { {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_sorthints as *mut _) } }}; ("sortLocked") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_sortLocked as *mut _) } }}; -("sortResource") => - {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_sortResource as *mut _) } }}; -("sortResource2") => - {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_sortResource2 as *mut _) } }}; -("sortSeparators") => - {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_sortSeparators as *mut _) } }}; -("sortStaticsLast") => - {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_sortStaticsLast as *mut _) } }}; ("source") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_source as *mut _) } }}; ("space") => @@ -19938,8 +19890,8 @@ macro_rules! atom { {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_AsyncScrollLayerCreationFailed as *mut _) } }}; ("forcemessagemanager") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_forcemessagemanager as *mut _) } }}; -("isPreloadBrowser") => - {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_isPreloadBrowser as *mut _) } }}; +("preloadedState") => + {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_preloadedState as *mut _) } }}; ("scrollbar-start-backward") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_scrollbar_start_backward as *mut _) } }}; ("scrollbar-start-forward") => diff --git a/components/style/gecko/generated/bindings.rs b/components/style/gecko/generated/bindings.rs index 0f8c9d3e91a..3e8276c8885 100644 --- a/components/style/gecko/generated/bindings.rs +++ b/components/style/gecko/generated/bindings.rs @@ -1597,4 +1597,4 @@ extern "C" { pub fn Gecko_GetElementsWithId ( aDocument : * const nsIDocument , aId : * mut nsAtom , ) -> * const nsTArray < * mut Element > ; } extern "C" { pub fn Gecko_GetBoolPrefValue ( pref_name : * const :: std :: os :: raw :: c_char , ) -> bool ; -} +} \ No newline at end of file diff --git a/components/style/gecko/generated/structs.rs b/components/style/gecko/generated/structs.rs index 3aa28ebc431..b761506421a 100644 --- a/components/style/gecko/generated/structs.rs +++ b/components/style/gecko/generated/structs.rs @@ -85,13 +85,13 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct BorrowedAttrInfo { pub mName : * const root :: nsAttrName , pub mValue : * const root :: nsAttrValue , } # [ test ] fn bindgen_test_layout_BorrowedAttrInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < BorrowedAttrInfo > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( BorrowedAttrInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < BorrowedAttrInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( BorrowedAttrInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const BorrowedAttrInfo ) ) . mName as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( BorrowedAttrInfo ) , "::" , stringify ! ( mName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const BorrowedAttrInfo ) ) . mValue as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( BorrowedAttrInfo ) , "::" , stringify ! ( mValue ) ) ) ; } impl Clone for BorrowedAttrInfo { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct NodeInfo { pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , pub mDocument : * mut root :: nsIDocument , pub mInner : root :: mozilla :: dom :: NodeInfo_NodeInfoInner , pub mOwnerManager : root :: RefPtr < root :: nsNodeInfoManager > , pub mQualifiedName : ::nsstring::nsStringRepr , pub mNodeName : ::nsstring::nsStringRepr , pub mLocalName : ::nsstring::nsStringRepr , } pub type NodeInfo_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct NodeInfo_cycleCollection { pub _base : root :: nsCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_NodeInfo_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < NodeInfo_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( NodeInfo_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < NodeInfo_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( NodeInfo_cycleCollection ) ) ) ; } impl Clone for NodeInfo_cycleCollection { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct NodeInfo_NodeInfoInner { pub mName : * const root :: nsAtom , pub mPrefix : * mut root :: nsAtom , pub mNamespaceID : i32 , pub mNodeType : u16 , pub mNameString : * const root :: nsAString , pub mExtraName : * mut root :: nsAtom , pub mHash : root :: PLHashNumber , pub mHashInitialized : bool , } # [ test ] fn bindgen_test_layout_NodeInfo_NodeInfoInner ( ) { assert_eq ! ( :: std :: mem :: size_of :: < NodeInfo_NodeInfoInner > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( NodeInfo_NodeInfoInner ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < NodeInfo_NodeInfoInner > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( NodeInfo_NodeInfoInner ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mName as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mPrefix as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mPrefix ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mNamespaceID as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mNamespaceID ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mNodeType as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mNodeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mNameString as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mNameString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mExtraName as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mExtraName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mHash as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mHash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . mHashInitialized as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo_NodeInfoInner ) , "::" , stringify ! ( mHashInitialized ) ) ) ; } impl Clone for NodeInfo_NodeInfoInner { fn clone ( & self ) -> Self { * self } } extern "C" { # [ link_name = "\u{1}_ZN7mozilla3dom8NodeInfo21_cycleCollectorGlobalE" ] pub static mut NodeInfo__cycleCollectorGlobal : root :: mozilla :: dom :: NodeInfo_cycleCollection ; -} # [ test ] fn bindgen_test_layout_NodeInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < NodeInfo > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( NodeInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < NodeInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( NodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mDocument as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mDocument ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mInner as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mInner ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mOwnerManager as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mOwnerManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mQualifiedName as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mQualifiedName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mNodeName as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mNodeName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mLocalName as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mLocalName ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct EventTarget { pub _base : root :: nsIDOMEventTarget , pub _base_1 : root :: nsWrapperCache , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct EventTarget_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_EventTarget ( ) { assert_eq ! ( :: std :: mem :: size_of :: < EventTarget > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( EventTarget ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < EventTarget > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( EventTarget ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct BoxQuadOptions { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ConvertCoordinateOptions { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DocGroup { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DOMPoint { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DOMQuad { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TextOrElementOrDocument { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DOMPointInit { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct HTMLSlotElement { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TabGroup { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] pub struct DispatcherTrait__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct DispatcherTrait { pub vtable_ : * const DispatcherTrait__bindgen_vtable , } # [ test ] fn bindgen_test_layout_DispatcherTrait ( ) { assert_eq ! ( :: std :: mem :: size_of :: < DispatcherTrait > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( DispatcherTrait ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < DispatcherTrait > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( DispatcherTrait ) ) ) ; } impl Clone for DispatcherTrait { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct AudioContext { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Performance { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ServiceWorkerRegistration { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TimeoutManager { _unused : [ u8 ; 0 ] } pub const LargeAllocStatus_NONE : root :: mozilla :: dom :: LargeAllocStatus = 0 ; pub const LargeAllocStatus_SUCCESS : root :: mozilla :: dom :: LargeAllocStatus = 1 ; pub const LargeAllocStatus_NON_GET : root :: mozilla :: dom :: LargeAllocStatus = 2 ; pub const LargeAllocStatus_NON_E10S : root :: mozilla :: dom :: LargeAllocStatus = 3 ; pub const LargeAllocStatus_NOT_ONLY_TOPLEVEL_IN_TABGROUP : root :: mozilla :: dom :: LargeAllocStatus = 4 ; pub const LargeAllocStatus_NON_WIN32 : root :: mozilla :: dom :: LargeAllocStatus = 5 ; pub type LargeAllocStatus = u8 ; pub mod prototypes { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: super :: root ; } pub mod constructors { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: super :: root ; } pub mod namedpropertiesobjects { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: super :: root ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct StyleSheetList { _unused : [ u8 ; 0 ] } +} # [ test ] fn bindgen_test_layout_NodeInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < NodeInfo > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( NodeInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < NodeInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( NodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mRefCnt as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mDocument as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mDocument ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mInner as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mInner ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mOwnerManager as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mOwnerManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mQualifiedName as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mQualifiedName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mNodeName as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mNodeName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const NodeInfo ) ) . mLocalName as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( NodeInfo ) , "::" , stringify ! ( mLocalName ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct EventTarget { pub _base : root :: nsIDOMEventTarget , pub _base_1 : root :: nsWrapperCache , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct EventTarget_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_EventTarget ( ) { assert_eq ! ( :: std :: mem :: size_of :: < EventTarget > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( EventTarget ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < EventTarget > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( EventTarget ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct BoxQuadOptions { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ConvertCoordinateOptions { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DocGroup { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DOMPoint { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DOMQuad { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TextOrElementOrDocument { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DOMPointInit { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TabGroup { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] pub struct DispatcherTrait__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct DispatcherTrait { pub vtable_ : * const DispatcherTrait__bindgen_vtable , } # [ test ] fn bindgen_test_layout_DispatcherTrait ( ) { assert_eq ! ( :: std :: mem :: size_of :: < DispatcherTrait > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( DispatcherTrait ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < DispatcherTrait > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( DispatcherTrait ) ) ) ; } impl Clone for DispatcherTrait { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct AudioContext { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Performance { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ServiceWorkerRegistration { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct TimeoutManager { _unused : [ u8 ; 0 ] } pub const LargeAllocStatus_NONE : root :: mozilla :: dom :: LargeAllocStatus = 0 ; pub const LargeAllocStatus_SUCCESS : root :: mozilla :: dom :: LargeAllocStatus = 1 ; pub const LargeAllocStatus_NON_GET : root :: mozilla :: dom :: LargeAllocStatus = 2 ; pub const LargeAllocStatus_NON_E10S : root :: mozilla :: dom :: LargeAllocStatus = 3 ; pub const LargeAllocStatus_NOT_ONLY_TOPLEVEL_IN_TABGROUP : root :: mozilla :: dom :: LargeAllocStatus = 4 ; pub const LargeAllocStatus_NON_WIN32 : root :: mozilla :: dom :: LargeAllocStatus = 5 ; pub type LargeAllocStatus = u8 ; pub mod prototypes { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: super :: root ; } pub mod constructors { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: super :: root ; } pub mod namedpropertiesobjects { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: super :: root ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct StyleSheetList { _unused : [ u8 ; 0 ] } /// A class meant to be shared by ShadowRoot and Document, that holds a list of /// stylesheets. /// /// TODO(emilio, bug 1418159): In the future this should hold most of the /// relevant style state, this should allow us to fix bug 548397. - # [ repr ( C ) ] pub struct DocumentOrShadowRoot { pub mStyleSheets : root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > , pub mDOMStyleSheets : root :: RefPtr < root :: mozilla :: dom :: StyleSheetList > , pub mIdentifierMap : [ u64 ; 4usize ] , pub mAsNode : * mut root :: nsINode , pub mKind : root :: mozilla :: dom :: DocumentOrShadowRoot_Kind , } pub const DocumentOrShadowRoot_Kind_Document : root :: mozilla :: dom :: DocumentOrShadowRoot_Kind = 0 ; pub const DocumentOrShadowRoot_Kind_ShadowRoot : root :: mozilla :: dom :: DocumentOrShadowRoot_Kind = 1 ; pub type DocumentOrShadowRoot_Kind = :: std :: os :: raw :: c_int ; # [ test ] fn bindgen_test_layout_DocumentOrShadowRoot ( ) { assert_eq ! ( :: std :: mem :: size_of :: < DocumentOrShadowRoot > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( DocumentOrShadowRoot ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < DocumentOrShadowRoot > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( DocumentOrShadowRoot ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const DocumentOrShadowRoot ) ) . mStyleSheets as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( DocumentOrShadowRoot ) , "::" , stringify ! ( mStyleSheets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const DocumentOrShadowRoot ) ) . mDOMStyleSheets as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( DocumentOrShadowRoot ) , "::" , stringify ! ( mDOMStyleSheets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const DocumentOrShadowRoot ) ) . mIdentifierMap as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( DocumentOrShadowRoot ) , "::" , stringify ! ( mIdentifierMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const DocumentOrShadowRoot ) ) . mAsNode as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( DocumentOrShadowRoot ) , "::" , stringify ! ( mAsNode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const DocumentOrShadowRoot ) ) . mKind as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( DocumentOrShadowRoot ) , "::" , stringify ! ( mKind ) ) ) ; } pub const VisibilityState_Hidden : root :: mozilla :: dom :: VisibilityState = 0 ; pub const VisibilityState_Visible : root :: mozilla :: dom :: VisibilityState = 1 ; pub const VisibilityState_Prerender : root :: mozilla :: dom :: VisibilityState = 2 ; pub const VisibilityState_EndGuard_ : root :: mozilla :: dom :: VisibilityState = 3 ; pub type VisibilityState = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct AnonymousContent { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct FontFaceSet { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct FullscreenRequest { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ImageTracker { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Link { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct MediaQueryList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XPathEvaluator { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FrameRequestCallback { pub _bindgen_opaque_blob : [ u64 ; 6usize ] , } # [ test ] fn bindgen_test_layout_FrameRequestCallback ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FrameRequestCallback > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( FrameRequestCallback ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FrameRequestCallback > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( FrameRequestCallback ) ) ) ; } impl Clone for FrameRequestCallback { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct URLParams { pub mParams : root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > , } # [ repr ( C ) ] pub struct URLParams_ForEachIterator__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct URLParams_ForEachIterator { pub vtable_ : * const URLParams_ForEachIterator__bindgen_vtable , } # [ test ] fn bindgen_test_layout_URLParams_ForEachIterator ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLParams_ForEachIterator > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( URLParams_ForEachIterator ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLParams_ForEachIterator > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLParams_ForEachIterator ) ) ) ; } impl Clone for URLParams_ForEachIterator { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct URLParams_Param { pub mKey : ::nsstring::nsStringRepr , pub mValue : ::nsstring::nsStringRepr , } # [ test ] fn bindgen_test_layout_URLParams_Param ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLParams_Param > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( URLParams_Param ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLParams_Param > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLParams_Param ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLParams_Param ) ) . mKey as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( URLParams_Param ) , "::" , stringify ! ( mKey ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLParams_Param ) ) . mValue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( URLParams_Param ) , "::" , stringify ! ( mValue ) ) ) ; } # [ test ] fn bindgen_test_layout_URLParams ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLParams > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( URLParams ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLParams > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLParams ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLParams ) ) . mParams as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( URLParams ) , "::" , stringify ! ( mParams ) ) ) ; } # [ repr ( C ) ] pub struct SRIMetadata { pub mHashes : root :: nsTArray < root :: nsCString > , pub mIntegrityString : ::nsstring::nsStringRepr , pub mAlgorithm : root :: nsCString , pub mAlgorithmType : i8 , pub mEmpty : bool , } pub const SRIMetadata_MAX_ALTERNATE_HASHES : u32 = 256 ; pub const SRIMetadata_UNKNOWN_ALGORITHM : i8 = -1 ; # [ test ] fn bindgen_test_layout_SRIMetadata ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SRIMetadata > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( SRIMetadata ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SRIMetadata > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SRIMetadata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mHashes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mHashes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mIntegrityString as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mIntegrityString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mAlgorithm as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mAlgorithm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mAlgorithmType as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mAlgorithmType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mEmpty as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mEmpty ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct OwningNodeOrString { pub mType : root :: mozilla :: dom :: OwningNodeOrString_Type , pub mValue : root :: mozilla :: dom :: OwningNodeOrString_Value , } pub const OwningNodeOrString_Type_eUninitialized : root :: mozilla :: dom :: OwningNodeOrString_Type = 0 ; pub const OwningNodeOrString_Type_eNode : root :: mozilla :: dom :: OwningNodeOrString_Type = 1 ; pub const OwningNodeOrString_Type_eString : root :: mozilla :: dom :: OwningNodeOrString_Type = 2 ; pub type OwningNodeOrString_Type = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct OwningNodeOrString_Value { pub _bindgen_opaque_blob : [ u64 ; 2usize ] , } # [ test ] fn bindgen_test_layout_OwningNodeOrString_Value ( ) { assert_eq ! ( :: std :: mem :: size_of :: < OwningNodeOrString_Value > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( OwningNodeOrString_Value ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < OwningNodeOrString_Value > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( OwningNodeOrString_Value ) ) ) ; } impl Clone for OwningNodeOrString_Value { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_OwningNodeOrString ( ) { assert_eq ! ( :: std :: mem :: size_of :: < OwningNodeOrString > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( OwningNodeOrString ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < OwningNodeOrString > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( OwningNodeOrString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const OwningNodeOrString ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( OwningNodeOrString ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const OwningNodeOrString ) ) . mValue as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( OwningNodeOrString ) , "::" , stringify ! ( mValue ) ) ) ; } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum FillMode { None = 0 , Forwards = 1 , Backwards = 2 , Both = 3 , Auto = 4 , EndGuard_ = 5 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum PlaybackDirection { Normal = 0 , Reverse = 1 , Alternate = 2 , Alternate_reverse = 3 , EndGuard_ = 4 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum CompositeOperation { Replace = 0 , Add = 1 , Accumulate = 2 , EndGuard_ = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum IterationCompositeOperation { Replace = 0 , Accumulate = 1 , EndGuard_ = 2 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XBLChildrenElement { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct CustomElementData { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] pub struct FragmentOrElement { pub _base : root :: nsIContent , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , + # [ repr ( C ) ] pub struct DocumentOrShadowRoot { pub mStyleSheets : root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > , pub mDOMStyleSheets : root :: RefPtr < root :: mozilla :: dom :: StyleSheetList > , pub mIdentifierMap : [ u64 ; 4usize ] , pub mAsNode : * mut root :: nsINode , pub mKind : root :: mozilla :: dom :: DocumentOrShadowRoot_Kind , } pub const DocumentOrShadowRoot_Kind_Document : root :: mozilla :: dom :: DocumentOrShadowRoot_Kind = 0 ; pub const DocumentOrShadowRoot_Kind_ShadowRoot : root :: mozilla :: dom :: DocumentOrShadowRoot_Kind = 1 ; pub type DocumentOrShadowRoot_Kind = :: std :: os :: raw :: c_int ; # [ test ] fn bindgen_test_layout_DocumentOrShadowRoot ( ) { assert_eq ! ( :: std :: mem :: size_of :: < DocumentOrShadowRoot > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( DocumentOrShadowRoot ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < DocumentOrShadowRoot > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( DocumentOrShadowRoot ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const DocumentOrShadowRoot ) ) . mStyleSheets as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( DocumentOrShadowRoot ) , "::" , stringify ! ( mStyleSheets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const DocumentOrShadowRoot ) ) . mDOMStyleSheets as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( DocumentOrShadowRoot ) , "::" , stringify ! ( mDOMStyleSheets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const DocumentOrShadowRoot ) ) . mIdentifierMap as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( DocumentOrShadowRoot ) , "::" , stringify ! ( mIdentifierMap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const DocumentOrShadowRoot ) ) . mAsNode as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( DocumentOrShadowRoot ) , "::" , stringify ! ( mAsNode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const DocumentOrShadowRoot ) ) . mKind as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( DocumentOrShadowRoot ) , "::" , stringify ! ( mKind ) ) ) ; } pub const VisibilityState_Hidden : root :: mozilla :: dom :: VisibilityState = 0 ; pub const VisibilityState_Visible : root :: mozilla :: dom :: VisibilityState = 1 ; pub const VisibilityState_Prerender : root :: mozilla :: dom :: VisibilityState = 2 ; pub const VisibilityState_EndGuard_ : root :: mozilla :: dom :: VisibilityState = 3 ; pub type VisibilityState = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct AnonymousContent { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct FontFaceSet { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct FullscreenRequest { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ImageTracker { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Link { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct MediaQueryList { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XPathEvaluator { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FrameRequestCallback { pub _bindgen_opaque_blob : [ u64 ; 6usize ] , } # [ test ] fn bindgen_test_layout_FrameRequestCallback ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FrameRequestCallback > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( FrameRequestCallback ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FrameRequestCallback > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( FrameRequestCallback ) ) ) ; } impl Clone for FrameRequestCallback { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct URLParams { pub mParams : root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > , } # [ repr ( C ) ] pub struct URLParams_ForEachIterator__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct URLParams_ForEachIterator { pub vtable_ : * const URLParams_ForEachIterator__bindgen_vtable , } # [ test ] fn bindgen_test_layout_URLParams_ForEachIterator ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLParams_ForEachIterator > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( URLParams_ForEachIterator ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLParams_ForEachIterator > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLParams_ForEachIterator ) ) ) ; } impl Clone for URLParams_ForEachIterator { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] pub struct URLParams_Param { pub mKey : ::nsstring::nsStringRepr , pub mValue : ::nsstring::nsStringRepr , } # [ test ] fn bindgen_test_layout_URLParams_Param ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLParams_Param > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( URLParams_Param ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLParams_Param > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLParams_Param ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLParams_Param ) ) . mKey as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( URLParams_Param ) , "::" , stringify ! ( mKey ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLParams_Param ) ) . mValue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( URLParams_Param ) , "::" , stringify ! ( mValue ) ) ) ; } # [ test ] fn bindgen_test_layout_URLParams ( ) { assert_eq ! ( :: std :: mem :: size_of :: < URLParams > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( URLParams ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < URLParams > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( URLParams ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const URLParams ) ) . mParams as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( URLParams ) , "::" , stringify ! ( mParams ) ) ) ; } # [ repr ( C ) ] pub struct SRIMetadata { pub mHashes : root :: nsTArray < root :: nsCString > , pub mIntegrityString : ::nsstring::nsStringRepr , pub mAlgorithm : root :: nsCString , pub mAlgorithmType : i8 , pub mEmpty : bool , } pub const SRIMetadata_MAX_ALTERNATE_HASHES : u32 = 256 ; pub const SRIMetadata_UNKNOWN_ALGORITHM : i8 = -1 ; # [ test ] fn bindgen_test_layout_SRIMetadata ( ) { assert_eq ! ( :: std :: mem :: size_of :: < SRIMetadata > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( SRIMetadata ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < SRIMetadata > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( SRIMetadata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mHashes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mHashes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mIntegrityString as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mIntegrityString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mAlgorithm as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mAlgorithm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mAlgorithmType as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mAlgorithmType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const SRIMetadata ) ) . mEmpty as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( SRIMetadata ) , "::" , stringify ! ( mEmpty ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct OwningNodeOrString { pub mType : root :: mozilla :: dom :: OwningNodeOrString_Type , pub mValue : root :: mozilla :: dom :: OwningNodeOrString_Value , } pub const OwningNodeOrString_Type_eUninitialized : root :: mozilla :: dom :: OwningNodeOrString_Type = 0 ; pub const OwningNodeOrString_Type_eNode : root :: mozilla :: dom :: OwningNodeOrString_Type = 1 ; pub const OwningNodeOrString_Type_eString : root :: mozilla :: dom :: OwningNodeOrString_Type = 2 ; pub type OwningNodeOrString_Type = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct OwningNodeOrString_Value { pub _bindgen_opaque_blob : [ u64 ; 2usize ] , } # [ test ] fn bindgen_test_layout_OwningNodeOrString_Value ( ) { assert_eq ! ( :: std :: mem :: size_of :: < OwningNodeOrString_Value > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( OwningNodeOrString_Value ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < OwningNodeOrString_Value > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( OwningNodeOrString_Value ) ) ) ; } impl Clone for OwningNodeOrString_Value { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_OwningNodeOrString ( ) { assert_eq ! ( :: std :: mem :: size_of :: < OwningNodeOrString > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( OwningNodeOrString ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < OwningNodeOrString > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( OwningNodeOrString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const OwningNodeOrString ) ) . mType as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( OwningNodeOrString ) , "::" , stringify ! ( mType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const OwningNodeOrString ) ) . mValue as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( OwningNodeOrString ) , "::" , stringify ! ( mValue ) ) ) ; } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum FillMode { None = 0 , Forwards = 1 , Backwards = 2 , Both = 3 , Auto = 4 , EndGuard_ = 5 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum PlaybackDirection { Normal = 0 , Reverse = 1 , Alternate = 2 , Alternate_reverse = 3 , EndGuard_ = 4 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct XBLChildrenElement { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct CustomElementData { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] pub struct FragmentOrElement { pub _base : root :: nsIContent , pub mRefCnt : root :: nsCycleCollectingAutoRefCnt , /// Array containing all attributes and children for this element pub mAttrsAndChildren : root :: nsAttrAndChildArray , } pub type FragmentOrElement_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FragmentOrElement_cycleCollection { pub _base : root :: nsXPCOMCycleCollectionParticipant , } # [ test ] fn bindgen_test_layout_FragmentOrElement_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FragmentOrElement_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( FragmentOrElement_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FragmentOrElement_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( FragmentOrElement_cycleCollection ) ) ) ; } impl Clone for FragmentOrElement_cycleCollection { fn clone ( & self ) -> Self { * self } } /// There are a set of DOM- and scripting-specific instance variables @@ -165,7 +165,10 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// Define a general matching function that can be passed to /// GetElementsByMatching(). Each Element being considered is /// passed in. - pub type Element_nsElementMatchFunc = :: std :: option :: Option < unsafe extern "C" fn ( aElement : * mut root :: mozilla :: dom :: Element ) -> bool > ; pub const Element_kAllServoDescendantBits : u32 = 25296896 ; pub const Element_kFireMutationEvent : bool = true ; pub const Element_kDontFireMutationEvent : bool = false ; pub const Element_kNotifyDocumentObservers : bool = true ; pub const Element_kDontNotifyDocumentObservers : bool = false ; pub const Element_kCallAfterSetAttr : bool = true ; pub const Element_kDontCallAfterSetAttr : bool = false ; # [ test ] fn bindgen_test_layout_Element ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Element > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( Element ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Element > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Element ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Element ) ) . mState as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( Element ) , "::" , stringify ! ( mState ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Element ) ) . mServoData as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( Element ) , "::" , stringify ! ( mServoData ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ExplicitChildIterator { pub mParent : * const root :: nsIContent , pub mParentAsSlot : * const root :: mozilla :: dom :: HTMLSlotElement , pub mChild : * mut root :: nsIContent , pub mDefaultChild : * mut root :: nsIContent , pub mIsFirst : bool , pub mIndexInInserted : u32 , } # [ test ] fn bindgen_test_layout_ExplicitChildIterator ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ExplicitChildIterator > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( ExplicitChildIterator ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ExplicitChildIterator > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ExplicitChildIterator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ExplicitChildIterator ) ) . mParent as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ExplicitChildIterator ) , "::" , stringify ! ( mParent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ExplicitChildIterator ) ) . mParentAsSlot as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ExplicitChildIterator ) , "::" , stringify ! ( mParentAsSlot ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ExplicitChildIterator ) ) . mChild as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ExplicitChildIterator ) , "::" , stringify ! ( mChild ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ExplicitChildIterator ) ) . mDefaultChild as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ExplicitChildIterator ) , "::" , stringify ! ( mDefaultChild ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ExplicitChildIterator ) ) . mIsFirst as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ExplicitChildIterator ) , "::" , stringify ! ( mIsFirst ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ExplicitChildIterator ) ) . mIndexInInserted as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( ExplicitChildIterator ) , "::" , stringify ! ( mIndexInInserted ) ) ) ; } impl Clone for ExplicitChildIterator { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FlattenedChildIterator { pub _base : root :: mozilla :: dom :: ExplicitChildIterator , pub mXBLInvolved : bool , pub mOriginalContent : * const root :: nsIContent , } # [ test ] fn bindgen_test_layout_FlattenedChildIterator ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FlattenedChildIterator > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( FlattenedChildIterator ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FlattenedChildIterator > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( FlattenedChildIterator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FlattenedChildIterator ) ) . mXBLInvolved as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( FlattenedChildIterator ) , "::" , stringify ! ( mXBLInvolved ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FlattenedChildIterator ) ) . mOriginalContent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( FlattenedChildIterator ) , "::" , stringify ! ( mOriginalContent ) ) ) ; } impl Clone for FlattenedChildIterator { fn clone ( & self ) -> Self { * self } } + pub type Element_nsElementMatchFunc = :: std :: option :: Option < unsafe extern "C" fn ( aElement : * mut root :: mozilla :: dom :: Element ) -> bool > ; pub const Element_kAllServoDescendantBits : u32 = 25296896 ; pub const Element_kFireMutationEvent : bool = true ; pub const Element_kDontFireMutationEvent : bool = false ; pub const Element_kNotifyDocumentObservers : bool = true ; pub const Element_kDontNotifyDocumentObservers : bool = false ; pub const Element_kCallAfterSetAttr : bool = true ; pub const Element_kDontCallAfterSetAttr : bool = false ; # [ test ] fn bindgen_test_layout_Element ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Element > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( Element ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Element > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Element ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Element ) ) . mState as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( Element ) , "::" , stringify ! ( mState ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const Element ) ) . mServoData as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( Element ) , "::" , stringify ! ( mServoData ) ) ) ; } # [ repr ( C ) ] pub struct HTMLSlotElement { pub _base : root :: nsGenericHTMLElement , pub mAssignedNodes : root :: nsTArray < root :: RefPtr < root :: nsINode > > , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct HTMLSlotElement_cycleCollection { pub _base : root :: mozilla :: dom :: FragmentOrElement_cycleCollection , } # [ test ] fn bindgen_test_layout_HTMLSlotElement_cycleCollection ( ) { assert_eq ! ( :: std :: mem :: size_of :: < HTMLSlotElement_cycleCollection > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( HTMLSlotElement_cycleCollection ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < HTMLSlotElement_cycleCollection > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( HTMLSlotElement_cycleCollection ) ) ) ; } impl Clone for HTMLSlotElement_cycleCollection { fn clone ( & self ) -> Self { * self } } extern "C" { + # [ link_name = "\u{1}_ZN7mozilla3dom15HTMLSlotElement21_cycleCollectorGlobalE" ] + pub static mut HTMLSlotElement__cycleCollectorGlobal : root :: mozilla :: dom :: HTMLSlotElement_cycleCollection ; +} # [ test ] fn bindgen_test_layout_HTMLSlotElement ( ) { assert_eq ! ( :: std :: mem :: size_of :: < HTMLSlotElement > ( ) , 136usize , concat ! ( "Size of: " , stringify ! ( HTMLSlotElement ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < HTMLSlotElement > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( HTMLSlotElement ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const HTMLSlotElement ) ) . mAssignedNodes as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( HTMLSlotElement ) , "::" , stringify ! ( mAssignedNodes ) ) ) ; } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum CompositeOperation { Replace = 0 , Add = 1 , Accumulate = 2 , EndGuard_ = 3 , } # [ repr ( u8 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum IterationCompositeOperation { Replace = 0 , Accumulate = 1 , EndGuard_ = 2 , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ExplicitChildIterator { pub mParent : * const root :: nsIContent , pub mParentAsSlot : * const root :: mozilla :: dom :: HTMLSlotElement , pub mChild : * mut root :: nsIContent , pub mDefaultChild : * mut root :: nsIContent , pub mIsFirst : bool , pub mIndexInInserted : u32 , } # [ test ] fn bindgen_test_layout_ExplicitChildIterator ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ExplicitChildIterator > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( ExplicitChildIterator ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ExplicitChildIterator > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ExplicitChildIterator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ExplicitChildIterator ) ) . mParent as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ExplicitChildIterator ) , "::" , stringify ! ( mParent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ExplicitChildIterator ) ) . mParentAsSlot as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ExplicitChildIterator ) , "::" , stringify ! ( mParentAsSlot ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ExplicitChildIterator ) ) . mChild as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ExplicitChildIterator ) , "::" , stringify ! ( mChild ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ExplicitChildIterator ) ) . mDefaultChild as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ExplicitChildIterator ) , "::" , stringify ! ( mDefaultChild ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ExplicitChildIterator ) ) . mIsFirst as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ExplicitChildIterator ) , "::" , stringify ! ( mIsFirst ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ExplicitChildIterator ) ) . mIndexInInserted as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( ExplicitChildIterator ) , "::" , stringify ! ( mIndexInInserted ) ) ) ; } impl Clone for ExplicitChildIterator { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FlattenedChildIterator { pub _base : root :: mozilla :: dom :: ExplicitChildIterator , pub mXBLInvolved : bool , pub mOriginalContent : * const root :: nsIContent , } # [ test ] fn bindgen_test_layout_FlattenedChildIterator ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FlattenedChildIterator > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( FlattenedChildIterator ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FlattenedChildIterator > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( FlattenedChildIterator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FlattenedChildIterator ) ) . mXBLInvolved as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( FlattenedChildIterator ) , "::" , stringify ! ( mXBLInvolved ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FlattenedChildIterator ) ) . mOriginalContent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( FlattenedChildIterator ) , "::" , stringify ! ( mOriginalContent ) ) ) ; } impl Clone for FlattenedChildIterator { fn clone ( & self ) -> Self { * self } } /// AllChildrenIterator traverses the children of an element including before / /// after content and optionally XBL children. The iterator can be initialized /// to start at the end by providing false for aStartAtBeginning in order to @@ -324,7 +327,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// The location in memory of the data portion of the arena. pub offset : usize , /// The location in memory of the end of the data portion of the arena. - pub tail : usize , } impl Clone for ArenaAllocator_ArenaHeader { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct ArenaAllocator_ArenaChunk { pub canary : root :: mozilla :: CorruptionCanary , pub header : root :: mozilla :: ArenaAllocator_ArenaHeader , pub next : * mut root :: mozilla :: ArenaAllocator_ArenaChunk , } pub type LayoutDeviceIntPoint = [ u32 ; 2usize ] ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct LayoutDevicePixel { pub _address : u8 , } # [ test ] fn bindgen_test_layout_LayoutDevicePixel ( ) { assert_eq ! ( :: std :: mem :: size_of :: < LayoutDevicePixel > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( LayoutDevicePixel ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < LayoutDevicePixel > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( LayoutDevicePixel ) ) ) ; } impl Clone for LayoutDevicePixel { fn clone ( & self ) -> Self { * self } } pub mod a11y { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DocAccessible { _unused : [ u8 ; 0 ] } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Encoding { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct Runnable { pub _base : root :: nsIRunnable , pub _base_1 : root :: nsINamed , pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mName : * const :: std :: os :: raw :: c_char , } pub type Runnable_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_Runnable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Runnable > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( Runnable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Runnable > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Runnable ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SegmentedVector_SegmentImpl_Storage { pub mBuf : root :: __BindgenUnionField < * mut :: std :: os :: raw :: c_char > , pub mAlign : root :: __BindgenUnionField < u8 > , pub bindgen_union_field : u64 , } pub type SegmentedVector_Segment = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SegmentedVector_IterImpl { pub mSegment : * mut root :: mozilla :: SegmentedVector_Segment , pub mIndex : usize , } pub const UseCounter_eUseCounter_UNKNOWN : root :: mozilla :: UseCounter = -1 ; pub const UseCounter_eUseCounter_SVGSVGElement_getElementById : root :: mozilla :: UseCounter = 0 ; pub const UseCounter_eUseCounter_SVGSVGElement_currentScale_getter : root :: mozilla :: UseCounter = 1 ; pub const UseCounter_eUseCounter_SVGSVGElement_currentScale_setter : root :: mozilla :: UseCounter = 2 ; pub const UseCounter_eUseCounter_property_Fill : root :: mozilla :: UseCounter = 3 ; pub const UseCounter_eUseCounter_property_FillOpacity : root :: mozilla :: UseCounter = 4 ; pub const UseCounter_eUseCounter_XMLDocument_async_getter : root :: mozilla :: UseCounter = 5 ; pub const UseCounter_eUseCounter_XMLDocument_async_setter : root :: mozilla :: UseCounter = 6 ; pub const UseCounter_eUseCounter_DOMError_name_getter : root :: mozilla :: UseCounter = 7 ; pub const UseCounter_eUseCounter_DOMError_name_setter : root :: mozilla :: UseCounter = 8 ; pub const UseCounter_eUseCounter_DOMError_message_getter : root :: mozilla :: UseCounter = 9 ; pub const UseCounter_eUseCounter_DOMError_message_setter : root :: mozilla :: UseCounter = 10 ; pub const UseCounter_eUseCounter_custom_DOMErrorConstructor : root :: mozilla :: UseCounter = 11 ; pub const UseCounter_eUseCounter_PushManager_subscribe : root :: mozilla :: UseCounter = 12 ; pub const UseCounter_eUseCounter_PushSubscription_unsubscribe : root :: mozilla :: UseCounter = 13 ; pub const UseCounter_eUseCounter_Window_sidebar_getter : root :: mozilla :: UseCounter = 14 ; pub const UseCounter_eUseCounter_Window_sidebar_setter : root :: mozilla :: UseCounter = 15 ; pub const UseCounter_eUseCounter_External_addSearchEngine : root :: mozilla :: UseCounter = 16 ; pub const UseCounter_eUseCounter_OfflineResourceList_swapCache : root :: mozilla :: UseCounter = 17 ; pub const UseCounter_eUseCounter_OfflineResourceList_update : root :: mozilla :: UseCounter = 18 ; pub const UseCounter_eUseCounter_OfflineResourceList_status_getter : root :: mozilla :: UseCounter = 19 ; pub const UseCounter_eUseCounter_OfflineResourceList_status_setter : root :: mozilla :: UseCounter = 20 ; pub const UseCounter_eUseCounter_OfflineResourceList_onchecking_getter : root :: mozilla :: UseCounter = 21 ; pub const UseCounter_eUseCounter_OfflineResourceList_onchecking_setter : root :: mozilla :: UseCounter = 22 ; pub const UseCounter_eUseCounter_OfflineResourceList_onerror_getter : root :: mozilla :: UseCounter = 23 ; pub const UseCounter_eUseCounter_OfflineResourceList_onerror_setter : root :: mozilla :: UseCounter = 24 ; pub const UseCounter_eUseCounter_OfflineResourceList_onnoupdate_getter : root :: mozilla :: UseCounter = 25 ; pub const UseCounter_eUseCounter_OfflineResourceList_onnoupdate_setter : root :: mozilla :: UseCounter = 26 ; pub const UseCounter_eUseCounter_OfflineResourceList_ondownloading_getter : root :: mozilla :: UseCounter = 27 ; pub const UseCounter_eUseCounter_OfflineResourceList_ondownloading_setter : root :: mozilla :: UseCounter = 28 ; pub const UseCounter_eUseCounter_OfflineResourceList_onprogress_getter : root :: mozilla :: UseCounter = 29 ; pub const UseCounter_eUseCounter_OfflineResourceList_onprogress_setter : root :: mozilla :: UseCounter = 30 ; pub const UseCounter_eUseCounter_OfflineResourceList_onupdateready_getter : root :: mozilla :: UseCounter = 31 ; pub const UseCounter_eUseCounter_OfflineResourceList_onupdateready_setter : root :: mozilla :: UseCounter = 32 ; pub const UseCounter_eUseCounter_OfflineResourceList_oncached_getter : root :: mozilla :: UseCounter = 33 ; pub const UseCounter_eUseCounter_OfflineResourceList_oncached_setter : root :: mozilla :: UseCounter = 34 ; pub const UseCounter_eUseCounter_OfflineResourceList_onobsolete_getter : root :: mozilla :: UseCounter = 35 ; pub const UseCounter_eUseCounter_OfflineResourceList_onobsolete_setter : root :: mozilla :: UseCounter = 36 ; pub const UseCounter_eUseCounter_IDBDatabase_createMutableFile : root :: mozilla :: UseCounter = 37 ; pub const UseCounter_eUseCounter_IDBDatabase_mozCreateFileHandle : root :: mozilla :: UseCounter = 38 ; pub const UseCounter_eUseCounter_IDBMutableFile_open : root :: mozilla :: UseCounter = 39 ; pub const UseCounter_eUseCounter_IDBMutableFile_getFile : root :: mozilla :: UseCounter = 40 ; pub const UseCounter_eUseCounter_DataTransfer_addElement : root :: mozilla :: UseCounter = 41 ; pub const UseCounter_eUseCounter_DataTransfer_mozItemCount_getter : root :: mozilla :: UseCounter = 42 ; pub const UseCounter_eUseCounter_DataTransfer_mozItemCount_setter : root :: mozilla :: UseCounter = 43 ; pub const UseCounter_eUseCounter_DataTransfer_mozCursor_getter : root :: mozilla :: UseCounter = 44 ; pub const UseCounter_eUseCounter_DataTransfer_mozCursor_setter : root :: mozilla :: UseCounter = 45 ; pub const UseCounter_eUseCounter_DataTransfer_mozTypesAt : root :: mozilla :: UseCounter = 46 ; pub const UseCounter_eUseCounter_DataTransfer_mozClearDataAt : root :: mozilla :: UseCounter = 47 ; pub const UseCounter_eUseCounter_DataTransfer_mozSetDataAt : root :: mozilla :: UseCounter = 48 ; pub const UseCounter_eUseCounter_DataTransfer_mozGetDataAt : root :: mozilla :: UseCounter = 49 ; pub const UseCounter_eUseCounter_DataTransfer_mozUserCancelled_getter : root :: mozilla :: UseCounter = 50 ; pub const UseCounter_eUseCounter_DataTransfer_mozUserCancelled_setter : root :: mozilla :: UseCounter = 51 ; pub const UseCounter_eUseCounter_DataTransfer_mozSourceNode_getter : root :: mozilla :: UseCounter = 52 ; pub const UseCounter_eUseCounter_DataTransfer_mozSourceNode_setter : root :: mozilla :: UseCounter = 53 ; pub const UseCounter_eUseCounter_custom_JS_asmjs : root :: mozilla :: UseCounter = 54 ; pub const UseCounter_eUseCounter_custom_JS_wasm : root :: mozilla :: UseCounter = 55 ; pub const UseCounter_eUseCounter_EnablePrivilege : root :: mozilla :: UseCounter = 56 ; pub const UseCounter_eUseCounter_DOMExceptionCode : root :: mozilla :: UseCounter = 57 ; pub const UseCounter_eUseCounter_MutationEvent : root :: mozilla :: UseCounter = 58 ; pub const UseCounter_eUseCounter_Components : root :: mozilla :: UseCounter = 59 ; pub const UseCounter_eUseCounter_PrefixedVisibilityAPI : root :: mozilla :: UseCounter = 60 ; pub const UseCounter_eUseCounter_NodeIteratorDetach : root :: mozilla :: UseCounter = 61 ; pub const UseCounter_eUseCounter_LenientThis : root :: mozilla :: UseCounter = 62 ; pub const UseCounter_eUseCounter_GetPreventDefault : root :: mozilla :: UseCounter = 63 ; pub const UseCounter_eUseCounter_GetSetUserData : root :: mozilla :: UseCounter = 64 ; pub const UseCounter_eUseCounter_MozGetAsFile : root :: mozilla :: UseCounter = 65 ; pub const UseCounter_eUseCounter_UseOfCaptureEvents : root :: mozilla :: UseCounter = 66 ; pub const UseCounter_eUseCounter_UseOfReleaseEvents : root :: mozilla :: UseCounter = 67 ; pub const UseCounter_eUseCounter_UseOfDOM3LoadMethod : root :: mozilla :: UseCounter = 68 ; pub const UseCounter_eUseCounter_ChromeUseOfDOM3LoadMethod : root :: mozilla :: UseCounter = 69 ; pub const UseCounter_eUseCounter_ShowModalDialog : root :: mozilla :: UseCounter = 70 ; pub const UseCounter_eUseCounter_SyncXMLHttpRequest : root :: mozilla :: UseCounter = 71 ; pub const UseCounter_eUseCounter_Window_Cc_ontrollers : root :: mozilla :: UseCounter = 72 ; pub const UseCounter_eUseCounter_ImportXULIntoContent : root :: mozilla :: UseCounter = 73 ; pub const UseCounter_eUseCounter_PannerNodeDoppler : root :: mozilla :: UseCounter = 74 ; pub const UseCounter_eUseCounter_NavigatorGetUserMedia : root :: mozilla :: UseCounter = 75 ; pub const UseCounter_eUseCounter_WebrtcDeprecatedPrefix : root :: mozilla :: UseCounter = 76 ; pub const UseCounter_eUseCounter_RTCPeerConnectionGetStreams : root :: mozilla :: UseCounter = 77 ; pub const UseCounter_eUseCounter_AppCache : root :: mozilla :: UseCounter = 78 ; pub const UseCounter_eUseCounter_PrefixedImageSmoothingEnabled : root :: mozilla :: UseCounter = 79 ; pub const UseCounter_eUseCounter_PrefixedFullscreenAPI : root :: mozilla :: UseCounter = 80 ; pub const UseCounter_eUseCounter_LenientSetter : root :: mozilla :: UseCounter = 81 ; pub const UseCounter_eUseCounter_FileLastModifiedDate : root :: mozilla :: UseCounter = 82 ; pub const UseCounter_eUseCounter_ImageBitmapRenderingContext_TransferImageBitmap : root :: mozilla :: UseCounter = 83 ; pub const UseCounter_eUseCounter_URLCreateObjectURL_MediaStream : root :: mozilla :: UseCounter = 84 ; pub const UseCounter_eUseCounter_XMLBaseAttribute : root :: mozilla :: UseCounter = 85 ; pub const UseCounter_eUseCounter_WindowContentUntrusted : root :: mozilla :: UseCounter = 86 ; pub const UseCounter_eUseCounter_Count : root :: mozilla :: UseCounter = 87 ; pub type UseCounter = i16 ; pub const LogLevel_Disabled : root :: mozilla :: LogLevel = 0 ; pub const LogLevel_Error : root :: mozilla :: LogLevel = 1 ; pub const LogLevel_Warning : root :: mozilla :: LogLevel = 2 ; pub const LogLevel_Info : root :: mozilla :: LogLevel = 3 ; pub const LogLevel_Debug : root :: mozilla :: LogLevel = 4 ; pub const LogLevel_Verbose : root :: mozilla :: LogLevel = 5 ; pub type LogLevel = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct LogModule { pub mName : * mut :: std :: os :: raw :: c_char , pub mLevel : u32 , } # [ test ] fn bindgen_test_layout_LogModule ( ) { assert_eq ! ( :: std :: mem :: size_of :: < LogModule > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( LogModule ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < LogModule > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( LogModule ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const LogModule ) ) . mName as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( LogModule ) , "::" , stringify ! ( mName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const LogModule ) ) . mLevel as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( LogModule ) , "::" , stringify ! ( mLevel ) ) ) ; } + pub tail : usize , } impl Clone for ArenaAllocator_ArenaHeader { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct ArenaAllocator_ArenaChunk { pub canary : root :: mozilla :: CorruptionCanary , pub header : root :: mozilla :: ArenaAllocator_ArenaHeader , pub next : * mut root :: mozilla :: ArenaAllocator_ArenaChunk , } pub type LayoutDeviceIntPoint = [ u32 ; 2usize ] ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct LayoutDevicePixel { pub _address : u8 , } # [ test ] fn bindgen_test_layout_LayoutDevicePixel ( ) { assert_eq ! ( :: std :: mem :: size_of :: < LayoutDevicePixel > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( LayoutDevicePixel ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < LayoutDevicePixel > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( LayoutDevicePixel ) ) ) ; } impl Clone for LayoutDevicePixel { fn clone ( & self ) -> Self { * self } } pub mod a11y { # [ allow ( unused_imports ) ] use self :: super :: super :: super :: root ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DocAccessible { _unused : [ u8 ; 0 ] } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct Encoding { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct Runnable { pub _base : root :: nsIRunnable , pub _base_1 : root :: nsINamed , pub mRefCnt : root :: mozilla :: ThreadSafeAutoRefCnt , pub mName : * const :: std :: os :: raw :: c_char , } pub type Runnable_HasThreadSafeRefCnt = root :: mozilla :: TrueType ; # [ test ] fn bindgen_test_layout_Runnable ( ) { assert_eq ! ( :: std :: mem :: size_of :: < Runnable > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( Runnable ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < Runnable > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( Runnable ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SegmentedVector_SegmentImpl_Storage { pub mBuf : root :: __BindgenUnionField < * mut :: std :: os :: raw :: c_char > , pub mAlign : root :: __BindgenUnionField < u8 > , pub bindgen_union_field : u64 , } pub type SegmentedVector_Segment = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct SegmentedVector_IterImpl { pub mSegment : * mut root :: mozilla :: SegmentedVector_Segment , pub mIndex : usize , } pub const UseCounter_eUseCounter_UNKNOWN : root :: mozilla :: UseCounter = -1 ; pub const UseCounter_eUseCounter_SVGSVGElement_getElementById : root :: mozilla :: UseCounter = 0 ; pub const UseCounter_eUseCounter_SVGSVGElement_currentScale_getter : root :: mozilla :: UseCounter = 1 ; pub const UseCounter_eUseCounter_SVGSVGElement_currentScale_setter : root :: mozilla :: UseCounter = 2 ; pub const UseCounter_eUseCounter_property_Fill : root :: mozilla :: UseCounter = 3 ; pub const UseCounter_eUseCounter_property_FillOpacity : root :: mozilla :: UseCounter = 4 ; pub const UseCounter_eUseCounter_XMLDocument_async_getter : root :: mozilla :: UseCounter = 5 ; pub const UseCounter_eUseCounter_XMLDocument_async_setter : root :: mozilla :: UseCounter = 6 ; pub const UseCounter_eUseCounter_DOMError_name_getter : root :: mozilla :: UseCounter = 7 ; pub const UseCounter_eUseCounter_DOMError_name_setter : root :: mozilla :: UseCounter = 8 ; pub const UseCounter_eUseCounter_DOMError_message_getter : root :: mozilla :: UseCounter = 9 ; pub const UseCounter_eUseCounter_DOMError_message_setter : root :: mozilla :: UseCounter = 10 ; pub const UseCounter_eUseCounter_custom_DOMErrorConstructor : root :: mozilla :: UseCounter = 11 ; pub const UseCounter_eUseCounter_PushManager_subscribe : root :: mozilla :: UseCounter = 12 ; pub const UseCounter_eUseCounter_PushSubscription_unsubscribe : root :: mozilla :: UseCounter = 13 ; pub const UseCounter_eUseCounter_Window_sidebar_getter : root :: mozilla :: UseCounter = 14 ; pub const UseCounter_eUseCounter_Window_sidebar_setter : root :: mozilla :: UseCounter = 15 ; pub const UseCounter_eUseCounter_OfflineResourceList_swapCache : root :: mozilla :: UseCounter = 16 ; pub const UseCounter_eUseCounter_OfflineResourceList_update : root :: mozilla :: UseCounter = 17 ; pub const UseCounter_eUseCounter_OfflineResourceList_status_getter : root :: mozilla :: UseCounter = 18 ; pub const UseCounter_eUseCounter_OfflineResourceList_status_setter : root :: mozilla :: UseCounter = 19 ; pub const UseCounter_eUseCounter_OfflineResourceList_onchecking_getter : root :: mozilla :: UseCounter = 20 ; pub const UseCounter_eUseCounter_OfflineResourceList_onchecking_setter : root :: mozilla :: UseCounter = 21 ; pub const UseCounter_eUseCounter_OfflineResourceList_onerror_getter : root :: mozilla :: UseCounter = 22 ; pub const UseCounter_eUseCounter_OfflineResourceList_onerror_setter : root :: mozilla :: UseCounter = 23 ; pub const UseCounter_eUseCounter_OfflineResourceList_onnoupdate_getter : root :: mozilla :: UseCounter = 24 ; pub const UseCounter_eUseCounter_OfflineResourceList_onnoupdate_setter : root :: mozilla :: UseCounter = 25 ; pub const UseCounter_eUseCounter_OfflineResourceList_ondownloading_getter : root :: mozilla :: UseCounter = 26 ; pub const UseCounter_eUseCounter_OfflineResourceList_ondownloading_setter : root :: mozilla :: UseCounter = 27 ; pub const UseCounter_eUseCounter_OfflineResourceList_onprogress_getter : root :: mozilla :: UseCounter = 28 ; pub const UseCounter_eUseCounter_OfflineResourceList_onprogress_setter : root :: mozilla :: UseCounter = 29 ; pub const UseCounter_eUseCounter_OfflineResourceList_onupdateready_getter : root :: mozilla :: UseCounter = 30 ; pub const UseCounter_eUseCounter_OfflineResourceList_onupdateready_setter : root :: mozilla :: UseCounter = 31 ; pub const UseCounter_eUseCounter_OfflineResourceList_oncached_getter : root :: mozilla :: UseCounter = 32 ; pub const UseCounter_eUseCounter_OfflineResourceList_oncached_setter : root :: mozilla :: UseCounter = 33 ; pub const UseCounter_eUseCounter_OfflineResourceList_onobsolete_getter : root :: mozilla :: UseCounter = 34 ; pub const UseCounter_eUseCounter_OfflineResourceList_onobsolete_setter : root :: mozilla :: UseCounter = 35 ; pub const UseCounter_eUseCounter_IDBDatabase_createMutableFile : root :: mozilla :: UseCounter = 36 ; pub const UseCounter_eUseCounter_IDBDatabase_mozCreateFileHandle : root :: mozilla :: UseCounter = 37 ; pub const UseCounter_eUseCounter_IDBMutableFile_open : root :: mozilla :: UseCounter = 38 ; pub const UseCounter_eUseCounter_IDBMutableFile_getFile : root :: mozilla :: UseCounter = 39 ; pub const UseCounter_eUseCounter_DataTransfer_addElement : root :: mozilla :: UseCounter = 40 ; pub const UseCounter_eUseCounter_DataTransfer_mozItemCount_getter : root :: mozilla :: UseCounter = 41 ; pub const UseCounter_eUseCounter_DataTransfer_mozItemCount_setter : root :: mozilla :: UseCounter = 42 ; pub const UseCounter_eUseCounter_DataTransfer_mozCursor_getter : root :: mozilla :: UseCounter = 43 ; pub const UseCounter_eUseCounter_DataTransfer_mozCursor_setter : root :: mozilla :: UseCounter = 44 ; pub const UseCounter_eUseCounter_DataTransfer_mozTypesAt : root :: mozilla :: UseCounter = 45 ; pub const UseCounter_eUseCounter_DataTransfer_mozClearDataAt : root :: mozilla :: UseCounter = 46 ; pub const UseCounter_eUseCounter_DataTransfer_mozSetDataAt : root :: mozilla :: UseCounter = 47 ; pub const UseCounter_eUseCounter_DataTransfer_mozGetDataAt : root :: mozilla :: UseCounter = 48 ; pub const UseCounter_eUseCounter_DataTransfer_mozUserCancelled_getter : root :: mozilla :: UseCounter = 49 ; pub const UseCounter_eUseCounter_DataTransfer_mozUserCancelled_setter : root :: mozilla :: UseCounter = 50 ; pub const UseCounter_eUseCounter_DataTransfer_mozSourceNode_getter : root :: mozilla :: UseCounter = 51 ; pub const UseCounter_eUseCounter_DataTransfer_mozSourceNode_setter : root :: mozilla :: UseCounter = 52 ; pub const UseCounter_eUseCounter_custom_JS_asmjs : root :: mozilla :: UseCounter = 53 ; pub const UseCounter_eUseCounter_custom_JS_wasm : root :: mozilla :: UseCounter = 54 ; pub const UseCounter_eUseCounter_EnablePrivilege : root :: mozilla :: UseCounter = 55 ; pub const UseCounter_eUseCounter_DOMExceptionCode : root :: mozilla :: UseCounter = 56 ; pub const UseCounter_eUseCounter_MutationEvent : root :: mozilla :: UseCounter = 57 ; pub const UseCounter_eUseCounter_Components : root :: mozilla :: UseCounter = 58 ; pub const UseCounter_eUseCounter_PrefixedVisibilityAPI : root :: mozilla :: UseCounter = 59 ; pub const UseCounter_eUseCounter_NodeIteratorDetach : root :: mozilla :: UseCounter = 60 ; pub const UseCounter_eUseCounter_LenientThis : root :: mozilla :: UseCounter = 61 ; pub const UseCounter_eUseCounter_GetPreventDefault : root :: mozilla :: UseCounter = 62 ; pub const UseCounter_eUseCounter_GetSetUserData : root :: mozilla :: UseCounter = 63 ; pub const UseCounter_eUseCounter_MozGetAsFile : root :: mozilla :: UseCounter = 64 ; pub const UseCounter_eUseCounter_UseOfCaptureEvents : root :: mozilla :: UseCounter = 65 ; pub const UseCounter_eUseCounter_UseOfReleaseEvents : root :: mozilla :: UseCounter = 66 ; pub const UseCounter_eUseCounter_UseOfDOM3LoadMethod : root :: mozilla :: UseCounter = 67 ; pub const UseCounter_eUseCounter_ChromeUseOfDOM3LoadMethod : root :: mozilla :: UseCounter = 68 ; pub const UseCounter_eUseCounter_ShowModalDialog : root :: mozilla :: UseCounter = 69 ; pub const UseCounter_eUseCounter_SyncXMLHttpRequest : root :: mozilla :: UseCounter = 70 ; pub const UseCounter_eUseCounter_Window_Cc_ontrollers : root :: mozilla :: UseCounter = 71 ; pub const UseCounter_eUseCounter_ImportXULIntoContent : root :: mozilla :: UseCounter = 72 ; pub const UseCounter_eUseCounter_PannerNodeDoppler : root :: mozilla :: UseCounter = 73 ; pub const UseCounter_eUseCounter_NavigatorGetUserMedia : root :: mozilla :: UseCounter = 74 ; pub const UseCounter_eUseCounter_WebrtcDeprecatedPrefix : root :: mozilla :: UseCounter = 75 ; pub const UseCounter_eUseCounter_RTCPeerConnectionGetStreams : root :: mozilla :: UseCounter = 76 ; pub const UseCounter_eUseCounter_AppCache : root :: mozilla :: UseCounter = 77 ; pub const UseCounter_eUseCounter_PrefixedImageSmoothingEnabled : root :: mozilla :: UseCounter = 78 ; pub const UseCounter_eUseCounter_PrefixedFullscreenAPI : root :: mozilla :: UseCounter = 79 ; pub const UseCounter_eUseCounter_LenientSetter : root :: mozilla :: UseCounter = 80 ; pub const UseCounter_eUseCounter_FileLastModifiedDate : root :: mozilla :: UseCounter = 81 ; pub const UseCounter_eUseCounter_ImageBitmapRenderingContext_TransferImageBitmap : root :: mozilla :: UseCounter = 82 ; pub const UseCounter_eUseCounter_URLCreateObjectURL_MediaStream : root :: mozilla :: UseCounter = 83 ; pub const UseCounter_eUseCounter_XMLBaseAttribute : root :: mozilla :: UseCounter = 84 ; pub const UseCounter_eUseCounter_WindowContentUntrusted : root :: mozilla :: UseCounter = 85 ; pub const UseCounter_eUseCounter_Count : root :: mozilla :: UseCounter = 86 ; pub type UseCounter = i16 ; pub const LogLevel_Disabled : root :: mozilla :: LogLevel = 0 ; pub const LogLevel_Error : root :: mozilla :: LogLevel = 1 ; pub const LogLevel_Warning : root :: mozilla :: LogLevel = 2 ; pub const LogLevel_Info : root :: mozilla :: LogLevel = 3 ; pub const LogLevel_Debug : root :: mozilla :: LogLevel = 4 ; pub const LogLevel_Verbose : root :: mozilla :: LogLevel = 5 ; pub type LogLevel = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct LogModule { pub mName : * mut :: std :: os :: raw :: c_char , pub mLevel : u32 , } # [ test ] fn bindgen_test_layout_LogModule ( ) { assert_eq ! ( :: std :: mem :: size_of :: < LogModule > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( LogModule ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < LogModule > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( LogModule ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const LogModule ) ) . mName as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( LogModule ) , "::" , stringify ! ( mName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const LogModule ) ) . mLevel as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( LogModule ) , "::" , stringify ! ( mLevel ) ) ) ; } /// Helper class that lazy loads the given log module. This is safe to use for /// declaring static references to log modules and can be used as a replacement /// for accessing a LogModule directly. @@ -774,7 +777,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// An internal interface that abstracts some DOMNode-related parts that both /// nsIContent and nsIDocument share. An instance of this interface has a list /// of nsIContent children and provides access to them. - # [ repr ( C ) ] pub struct nsINode { pub _base : root :: mozilla :: dom :: EventTarget , pub mNodeInfo : root :: RefPtr < root :: mozilla :: dom :: NodeInfo > , pub mParent : * mut root :: nsINode , pub mNextSibling : * mut root :: nsIContent , pub mPreviousSibling : * mut root :: nsIContent , pub mFirstChild : * mut root :: nsIContent , pub __bindgen_anon_1 : root :: nsINode__bindgen_ty_1 , pub mSlots : * mut root :: nsINode_nsSlots , } pub type nsINode_BoxQuadOptions = root :: mozilla :: dom :: BoxQuadOptions ; pub type nsINode_ConvertCoordinateOptions = root :: mozilla :: dom :: ConvertCoordinateOptions ; pub type nsINode_DocGroup = root :: mozilla :: dom :: DocGroup ; pub type nsINode_DOMPoint = root :: mozilla :: dom :: DOMPoint ; pub type nsINode_DOMPointInit = root :: mozilla :: dom :: DOMPointInit ; pub type nsINode_DOMQuad = root :: mozilla :: dom :: DOMQuad ; pub type nsINode_DOMRectReadOnly = root :: mozilla :: dom :: DOMRectReadOnly ; pub type nsINode_OwningNodeOrString = root :: mozilla :: dom :: OwningNodeOrString ; pub type nsINode_TextOrElementOrDocument = root :: mozilla :: dom :: TextOrElementOrDocument ; pub use self :: super :: root :: mozilla :: dom :: CallerType as nsINode_CallerType ; pub type nsINode_Sequence = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsINode_COMTypeInfo { pub _address : u8 , } pub const nsINode_eDOCUMENT : root :: nsINode__bindgen_ty_2 = 2 ; pub const nsINode_eATTRIBUTE : root :: nsINode__bindgen_ty_2 = 4 ; pub const nsINode_eTEXT : root :: nsINode__bindgen_ty_2 = 8 ; pub const nsINode_ePROCESSING_INSTRUCTION : root :: nsINode__bindgen_ty_2 = 16 ; pub const nsINode_eCOMMENT : root :: nsINode__bindgen_ty_2 = 32 ; pub const nsINode_eHTML_FORM_CONTROL : root :: nsINode__bindgen_ty_2 = 64 ; pub const nsINode_eDOCUMENT_FRAGMENT : root :: nsINode__bindgen_ty_2 = 128 ; pub const nsINode_eDATA_NODE : root :: nsINode__bindgen_ty_2 = 256 ; pub const nsINode_eMEDIA : root :: nsINode__bindgen_ty_2 = 512 ; pub const nsINode_eANIMATION : root :: nsINode__bindgen_ty_2 = 1024 ; pub const nsINode_eFILTER : root :: nsINode__bindgen_ty_2 = 2048 ; pub type nsINode__bindgen_ty_2 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] pub struct nsINode_nsSlots__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsINode_nsSlots { pub vtable_ : * const nsINode_nsSlots__bindgen_vtable , + # [ repr ( C ) ] pub struct nsINode { pub _base : root :: mozilla :: dom :: EventTarget , pub mNodeInfo : root :: RefPtr < root :: mozilla :: dom :: NodeInfo > , pub mParent : * mut root :: nsINode , pub mNextSibling : * mut root :: nsIContent , pub mPreviousSibling : * mut root :: nsIContent , pub mFirstChild : * mut root :: nsIContent , pub __bindgen_anon_1 : root :: nsINode__bindgen_ty_1 , pub mSlots : * mut root :: nsINode_nsSlots , } pub type nsINode_BoxQuadOptions = root :: mozilla :: dom :: BoxQuadOptions ; pub type nsINode_ConvertCoordinateOptions = root :: mozilla :: dom :: ConvertCoordinateOptions ; pub type nsINode_DocGroup = root :: mozilla :: dom :: DocGroup ; pub type nsINode_DOMPoint = root :: mozilla :: dom :: DOMPoint ; pub type nsINode_DOMPointInit = root :: mozilla :: dom :: DOMPointInit ; pub type nsINode_DOMQuad = root :: mozilla :: dom :: DOMQuad ; pub type nsINode_DOMRectReadOnly = root :: mozilla :: dom :: DOMRectReadOnly ; pub type nsINode_OwningNodeOrString = root :: mozilla :: dom :: OwningNodeOrString ; pub type nsINode_TextOrElementOrDocument = root :: mozilla :: dom :: TextOrElementOrDocument ; pub use self :: super :: root :: mozilla :: dom :: CallerType as nsINode_CallerType ; pub type nsINode_Sequence = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsINode_COMTypeInfo { pub _address : u8 , } pub const nsINode_eDOCUMENT : root :: nsINode__bindgen_ty_2 = 2 ; pub const nsINode_eATTRIBUTE : root :: nsINode__bindgen_ty_2 = 4 ; pub const nsINode_eTEXT : root :: nsINode__bindgen_ty_2 = 8 ; pub const nsINode_ePROCESSING_INSTRUCTION : root :: nsINode__bindgen_ty_2 = 16 ; pub const nsINode_eCOMMENT : root :: nsINode__bindgen_ty_2 = 32 ; pub const nsINode_eHTML_FORM_CONTROL : root :: nsINode__bindgen_ty_2 = 64 ; pub const nsINode_eDOCUMENT_FRAGMENT : root :: nsINode__bindgen_ty_2 = 128 ; pub const nsINode_eDATA_NODE : root :: nsINode__bindgen_ty_2 = 256 ; pub const nsINode_eMEDIA : root :: nsINode__bindgen_ty_2 = 512 ; pub const nsINode_eANIMATION : root :: nsINode__bindgen_ty_2 = 1024 ; pub const nsINode_eFILTER : root :: nsINode__bindgen_ty_2 = 2048 ; pub type nsINode__bindgen_ty_2 = :: std :: os :: raw :: c_uint ; pub const nsINode_FlattenedParentType_eNotForStyle : root :: nsINode_FlattenedParentType = 0 ; pub const nsINode_FlattenedParentType_eForStyle : root :: nsINode_FlattenedParentType = 1 ; pub type nsINode_FlattenedParentType = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] pub struct nsINode_nsSlots__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsINode_nsSlots { pub vtable_ : * const nsINode_nsSlots__bindgen_vtable , /// A list of mutation observers pub mMutationObservers : [ u64 ; 4usize ] , /// An object implementing nsIDOMNodeList for this content (childNodes) @@ -794,9 +797,9 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: pub mEditableDescendantCount : u32 , } # [ test ] fn bindgen_test_layout_nsINode_nsSlots ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsINode_nsSlots > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( nsINode_nsSlots ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsINode_nsSlots > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsINode_nsSlots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsINode_nsSlots ) ) . mMutationObservers as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsINode_nsSlots ) , "::" , stringify ! ( mMutationObservers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsINode_nsSlots ) ) . mChildNodes as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsINode_nsSlots ) , "::" , stringify ! ( mChildNodes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsINode_nsSlots ) ) . mWeakReference as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsINode_nsSlots ) , "::" , stringify ! ( mWeakReference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsINode_nsSlots ) ) . mCommonAncestorRanges as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsINode_nsSlots ) , "::" , stringify ! ( mCommonAncestorRanges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsINode_nsSlots ) ) . mEditableDescendantCount as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsINode_nsSlots ) , "::" , stringify ! ( mEditableDescendantCount ) ) ) ; } # [ repr ( u32 ) ] /// Boolean flags # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsINode_BooleanFlag { NodeHasRenderingObservers = 0 , IsInDocument = 1 , ParentIsContent = 2 , NodeIsElement = 3 , ElementHasID = 4 , ElementMayHaveClass = 5 , ElementMayHaveStyle = 6 , ElementHasName = 7 , ElementMayHaveContentEditableAttr = 8 , NodeIsCommonAncestorForRangeInSelection = 9 , NodeIsDescendantOfCommonAncestorForRangeInSelection = 10 , NodeIsCCMarkedRoot = 11 , NodeIsCCBlackTree = 12 , NodeIsPurpleRoot = 13 , ElementHasLockedStyleStates = 14 , ElementHasPointerLock = 15 , NodeMayHaveDOMMutationObserver = 16 , NodeIsContent = 17 , ElementHasAnimations = 18 , NodeHasValidDirAttribute = 19 , NodeHasDirAutoSet = 20 , NodeHasTextNodeDirectionalityMap = 21 , NodeAncestorHasDirAuto = 22 , ElementIsInStyleScope = 23 , ElementIsScopedStyleRoot = 24 , NodeHandlingClick = 25 , NodeHasRelevantHoverRules = 26 , ElementHasWeirdParserInsertionMode = 27 , ParserHasNotified = 28 , MayBeApzAware = 29 , ElementMayHaveAnonymousChildren = 30 , NodeMayHaveChildrenWithLayoutBoxesDisabled = 31 , BooleanFlagCount = 32 , } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsINode__bindgen_ty_1 { pub mPrimaryFrame : root :: __BindgenUnionField < * mut root :: nsIFrame > , pub mSubtreeRoot : root :: __BindgenUnionField < * mut root :: nsINode > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsINode__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsINode__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsINode__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsINode__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsINode__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsINode__bindgen_ty_1 ) ) . mPrimaryFrame as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsINode__bindgen_ty_1 ) , "::" , stringify ! ( mPrimaryFrame ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsINode__bindgen_ty_1 ) ) . mSubtreeRoot as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsINode__bindgen_ty_1 ) , "::" , stringify ! ( mSubtreeRoot ) ) ) ; } impl Clone for nsINode__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsINode ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsINode > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( nsINode ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsINode > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsINode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsINode ) ) . mNodeInfo as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsINode ) , "::" , stringify ! ( mNodeInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsINode ) ) . mParent as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( nsINode ) , "::" , stringify ! ( mParent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsINode ) ) . mNextSibling as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( nsINode ) , "::" , stringify ! ( mNextSibling ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsINode ) ) . mPreviousSibling as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsINode ) , "::" , stringify ! ( mPreviousSibling ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsINode ) ) . mFirstChild as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( nsINode ) , "::" , stringify ! ( mFirstChild ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsINode ) ) . mSlots as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( nsINode ) , "::" , stringify ! ( mSlots ) ) ) ; } - /// A node of content in a document's content model. This interface - /// is supported by all content objects. - # [ repr ( C ) ] pub struct nsIContent { pub _base : root :: nsINode , } pub type nsIContent_IMEState = root :: mozilla :: widget :: IMEState ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIContent_COMTypeInfo { pub _address : u8 , } pub const nsIContent_eAllChildren : root :: nsIContent__bindgen_ty_1 = 0 ; pub const nsIContent_eAllButXBL : root :: nsIContent__bindgen_ty_1 = 1 ; pub const nsIContent_eSkipPlaceholderContent : root :: nsIContent__bindgen_ty_1 = 2 ; pub const nsIContent_eSkipDocumentLevelNativeAnonymousContent : root :: nsIContent__bindgen_ty_1 = 4 ; pub type nsIContent__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; pub const nsIContent_FlattenedParentType_eNotForStyle : root :: nsIContent_FlattenedParentType = 0 ; pub const nsIContent_FlattenedParentType_eForStyle : root :: nsIContent_FlattenedParentType = 1 ; pub type nsIContent_FlattenedParentType = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] pub struct nsIContent_nsExtendedContentSlots__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; + /// Functions to create content, to be used only inside Gecko + /// (mozilla/content and mozilla/layout). + # [ repr ( C ) ] pub struct nsIContent { pub _base : root :: nsINode , } pub type nsIContent_IMEState = root :: mozilla :: widget :: IMEState ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIContent_COMTypeInfo { pub _address : u8 , } pub const nsIContent_eAllChildren : root :: nsIContent__bindgen_ty_1 = 0 ; pub const nsIContent_eAllButXBL : root :: nsIContent__bindgen_ty_1 = 1 ; pub const nsIContent_eSkipPlaceholderContent : root :: nsIContent__bindgen_ty_1 = 2 ; pub const nsIContent_eSkipDocumentLevelNativeAnonymousContent : root :: nsIContent__bindgen_ty_1 = 4 ; pub type nsIContent__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] pub struct nsIContent_nsExtendedContentSlots__bindgen_vtable ( :: std :: os :: raw :: c_void ) ; /// Lazily allocated extended slots to avoid /// that may only be instantiated when a content object is accessed /// through the DOM. Rather than burn actual slots in the content @@ -1640,12 +1643,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: ///
/// /// mozilla::ArrayIterator doesn't work well with bindgen. - # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCOMArray { pub mBuffer : root :: nsTArray < * mut root :: nsISupports > , } pub const ThemeWidgetType_NS_THEME_NONE : root :: ThemeWidgetType = 0 ; pub const ThemeWidgetType_NS_THEME_BUTTON : root :: ThemeWidgetType = 1 ; pub const ThemeWidgetType_NS_THEME_RADIO : root :: ThemeWidgetType = 2 ; pub const ThemeWidgetType_NS_THEME_CHECKBOX : root :: ThemeWidgetType = 3 ; pub const ThemeWidgetType_NS_THEME_BUTTON_BEVEL : root :: ThemeWidgetType = 4 ; pub const ThemeWidgetType_NS_THEME_FOCUS_OUTLINE : root :: ThemeWidgetType = 5 ; pub const ThemeWidgetType_NS_THEME_TOOLBOX : root :: ThemeWidgetType = 6 ; pub const ThemeWidgetType_NS_THEME_TOOLBAR : root :: ThemeWidgetType = 7 ; pub const ThemeWidgetType_NS_THEME_TOOLBARBUTTON : root :: ThemeWidgetType = 8 ; pub const ThemeWidgetType_NS_THEME_DUALBUTTON : root :: ThemeWidgetType = 9 ; pub const ThemeWidgetType_NS_THEME_TOOLBARBUTTON_DROPDOWN : root :: ThemeWidgetType = 10 ; pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_UP : root :: ThemeWidgetType = 11 ; pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_DOWN : root :: ThemeWidgetType = 12 ; pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_NEXT : root :: ThemeWidgetType = 13 ; pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_PREVIOUS : root :: ThemeWidgetType = 14 ; pub const ThemeWidgetType_NS_THEME_SEPARATOR : root :: ThemeWidgetType = 15 ; pub const ThemeWidgetType_NS_THEME_TOOLBARGRIPPER : root :: ThemeWidgetType = 16 ; pub const ThemeWidgetType_NS_THEME_SPLITTER : root :: ThemeWidgetType = 17 ; pub const ThemeWidgetType_NS_THEME_STATUSBAR : root :: ThemeWidgetType = 18 ; pub const ThemeWidgetType_NS_THEME_STATUSBARPANEL : root :: ThemeWidgetType = 19 ; pub const ThemeWidgetType_NS_THEME_RESIZERPANEL : root :: ThemeWidgetType = 20 ; pub const ThemeWidgetType_NS_THEME_RESIZER : root :: ThemeWidgetType = 21 ; pub const ThemeWidgetType_NS_THEME_LISTBOX : root :: ThemeWidgetType = 22 ; pub const ThemeWidgetType_NS_THEME_LISTITEM : root :: ThemeWidgetType = 23 ; pub const ThemeWidgetType_NS_THEME_TREEVIEW : root :: ThemeWidgetType = 24 ; pub const ThemeWidgetType_NS_THEME_TREEITEM : root :: ThemeWidgetType = 25 ; pub const ThemeWidgetType_NS_THEME_TREETWISTY : root :: ThemeWidgetType = 26 ; pub const ThemeWidgetType_NS_THEME_TREELINE : root :: ThemeWidgetType = 27 ; pub const ThemeWidgetType_NS_THEME_TREEHEADER : root :: ThemeWidgetType = 28 ; pub const ThemeWidgetType_NS_THEME_TREEHEADERCELL : root :: ThemeWidgetType = 29 ; pub const ThemeWidgetType_NS_THEME_TREEHEADERSORTARROW : root :: ThemeWidgetType = 30 ; pub const ThemeWidgetType_NS_THEME_TREETWISTYOPEN : root :: ThemeWidgetType = 31 ; pub const ThemeWidgetType_NS_THEME_PROGRESSBAR : root :: ThemeWidgetType = 32 ; pub const ThemeWidgetType_NS_THEME_PROGRESSCHUNK : root :: ThemeWidgetType = 33 ; pub const ThemeWidgetType_NS_THEME_PROGRESSBAR_VERTICAL : root :: ThemeWidgetType = 34 ; pub const ThemeWidgetType_NS_THEME_PROGRESSCHUNK_VERTICAL : root :: ThemeWidgetType = 35 ; pub const ThemeWidgetType_NS_THEME_METERBAR : root :: ThemeWidgetType = 36 ; pub const ThemeWidgetType_NS_THEME_METERCHUNK : root :: ThemeWidgetType = 37 ; pub const ThemeWidgetType_NS_THEME_TAB : root :: ThemeWidgetType = 38 ; pub const ThemeWidgetType_NS_THEME_TABPANEL : root :: ThemeWidgetType = 39 ; pub const ThemeWidgetType_NS_THEME_TABPANELS : root :: ThemeWidgetType = 40 ; pub const ThemeWidgetType_NS_THEME_TAB_SCROLL_ARROW_BACK : root :: ThemeWidgetType = 41 ; pub const ThemeWidgetType_NS_THEME_TAB_SCROLL_ARROW_FORWARD : root :: ThemeWidgetType = 42 ; pub const ThemeWidgetType_NS_THEME_TOOLTIP : root :: ThemeWidgetType = 43 ; pub const ThemeWidgetType_NS_THEME_INNER_SPIN_BUTTON : root :: ThemeWidgetType = 44 ; pub const ThemeWidgetType_NS_THEME_SPINNER : root :: ThemeWidgetType = 45 ; pub const ThemeWidgetType_NS_THEME_SPINNER_UPBUTTON : root :: ThemeWidgetType = 46 ; pub const ThemeWidgetType_NS_THEME_SPINNER_DOWNBUTTON : root :: ThemeWidgetType = 47 ; pub const ThemeWidgetType_NS_THEME_SPINNER_TEXTFIELD : root :: ThemeWidgetType = 48 ; pub const ThemeWidgetType_NS_THEME_NUMBER_INPUT : root :: ThemeWidgetType = 49 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR : root :: ThemeWidgetType = 50 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR_SMALL : root :: ThemeWidgetType = 51 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR_HORIZONTAL : root :: ThemeWidgetType = 52 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR_VERTICAL : root :: ThemeWidgetType = 53 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_UP : root :: ThemeWidgetType = 54 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_DOWN : root :: ThemeWidgetType = 55 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_LEFT : root :: ThemeWidgetType = 56 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_RIGHT : root :: ThemeWidgetType = 57 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARTRACK_HORIZONTAL : root :: ThemeWidgetType = 58 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARTRACK_VERTICAL : root :: ThemeWidgetType = 59 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARTHUMB_HORIZONTAL : root :: ThemeWidgetType = 60 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARTHUMB_VERTICAL : root :: ThemeWidgetType = 61 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR_NON_DISAPPEARING : root :: ThemeWidgetType = 62 ; pub const ThemeWidgetType_NS_THEME_TEXTFIELD : root :: ThemeWidgetType = 63 ; pub const ThemeWidgetType_NS_THEME_CARET : root :: ThemeWidgetType = 64 ; pub const ThemeWidgetType_NS_THEME_TEXTFIELD_MULTILINE : root :: ThemeWidgetType = 65 ; pub const ThemeWidgetType_NS_THEME_SEARCHFIELD : root :: ThemeWidgetType = 66 ; pub const ThemeWidgetType_NS_THEME_MENULIST : root :: ThemeWidgetType = 67 ; pub const ThemeWidgetType_NS_THEME_MENULIST_BUTTON : root :: ThemeWidgetType = 68 ; pub const ThemeWidgetType_NS_THEME_MENULIST_TEXT : root :: ThemeWidgetType = 69 ; pub const ThemeWidgetType_NS_THEME_MENULIST_TEXTFIELD : root :: ThemeWidgetType = 70 ; pub const ThemeWidgetType_NS_THEME_SCALE_HORIZONTAL : root :: ThemeWidgetType = 71 ; pub const ThemeWidgetType_NS_THEME_SCALE_VERTICAL : root :: ThemeWidgetType = 72 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMB_HORIZONTAL : root :: ThemeWidgetType = 73 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMB_VERTICAL : root :: ThemeWidgetType = 74 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMBSTART : root :: ThemeWidgetType = 75 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMBEND : root :: ThemeWidgetType = 76 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMBTICK : root :: ThemeWidgetType = 77 ; pub const ThemeWidgetType_NS_THEME_RANGE : root :: ThemeWidgetType = 78 ; pub const ThemeWidgetType_NS_THEME_RANGE_THUMB : root :: ThemeWidgetType = 79 ; pub const ThemeWidgetType_NS_THEME_GROUPBOX : root :: ThemeWidgetType = 80 ; pub const ThemeWidgetType_NS_THEME_CHECKBOX_CONTAINER : root :: ThemeWidgetType = 81 ; pub const ThemeWidgetType_NS_THEME_RADIO_CONTAINER : root :: ThemeWidgetType = 82 ; pub const ThemeWidgetType_NS_THEME_CHECKBOX_LABEL : root :: ThemeWidgetType = 83 ; pub const ThemeWidgetType_NS_THEME_RADIO_LABEL : root :: ThemeWidgetType = 84 ; pub const ThemeWidgetType_NS_THEME_BUTTON_FOCUS : root :: ThemeWidgetType = 85 ; pub const ThemeWidgetType_NS_THEME_WINDOW : root :: ThemeWidgetType = 86 ; pub const ThemeWidgetType_NS_THEME_DIALOG : root :: ThemeWidgetType = 87 ; pub const ThemeWidgetType_NS_THEME_MENUBAR : root :: ThemeWidgetType = 88 ; pub const ThemeWidgetType_NS_THEME_MENUPOPUP : root :: ThemeWidgetType = 89 ; pub const ThemeWidgetType_NS_THEME_MENUITEM : root :: ThemeWidgetType = 90 ; pub const ThemeWidgetType_NS_THEME_CHECKMENUITEM : root :: ThemeWidgetType = 91 ; pub const ThemeWidgetType_NS_THEME_RADIOMENUITEM : root :: ThemeWidgetType = 92 ; pub const ThemeWidgetType_NS_THEME_MENUCHECKBOX : root :: ThemeWidgetType = 93 ; pub const ThemeWidgetType_NS_THEME_MENURADIO : root :: ThemeWidgetType = 94 ; pub const ThemeWidgetType_NS_THEME_MENUSEPARATOR : root :: ThemeWidgetType = 95 ; pub const ThemeWidgetType_NS_THEME_MENUARROW : root :: ThemeWidgetType = 96 ; pub const ThemeWidgetType_NS_THEME_MENUIMAGE : root :: ThemeWidgetType = 97 ; pub const ThemeWidgetType_NS_THEME_MENUITEMTEXT : root :: ThemeWidgetType = 98 ; pub const ThemeWidgetType_NS_THEME_WIN_COMMUNICATIONS_TOOLBOX : root :: ThemeWidgetType = 99 ; pub const ThemeWidgetType_NS_THEME_WIN_MEDIA_TOOLBOX : root :: ThemeWidgetType = 100 ; pub const ThemeWidgetType_NS_THEME_WIN_BROWSERTABBAR_TOOLBOX : root :: ThemeWidgetType = 101 ; pub const ThemeWidgetType_NS_THEME_MAC_FULLSCREEN_BUTTON : root :: ThemeWidgetType = 102 ; pub const ThemeWidgetType_NS_THEME_MAC_HELP_BUTTON : root :: ThemeWidgetType = 103 ; pub const ThemeWidgetType_NS_THEME_WIN_BORDERLESS_GLASS : root :: ThemeWidgetType = 104 ; pub const ThemeWidgetType_NS_THEME_WIN_GLASS : root :: ThemeWidgetType = 105 ; pub const ThemeWidgetType_NS_THEME_WINDOW_TITLEBAR : root :: ThemeWidgetType = 106 ; pub const ThemeWidgetType_NS_THEME_WINDOW_TITLEBAR_MAXIMIZED : root :: ThemeWidgetType = 107 ; pub const ThemeWidgetType_NS_THEME_WINDOW_FRAME_LEFT : root :: ThemeWidgetType = 108 ; pub const ThemeWidgetType_NS_THEME_WINDOW_FRAME_RIGHT : root :: ThemeWidgetType = 109 ; pub const ThemeWidgetType_NS_THEME_WINDOW_FRAME_BOTTOM : root :: ThemeWidgetType = 110 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_CLOSE : root :: ThemeWidgetType = 111 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_MINIMIZE : root :: ThemeWidgetType = 112 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_MAXIMIZE : root :: ThemeWidgetType = 113 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_RESTORE : root :: ThemeWidgetType = 114 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_BOX : root :: ThemeWidgetType = 115 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_BOX_MAXIMIZED : root :: ThemeWidgetType = 116 ; pub const ThemeWidgetType_NS_THEME_WIN_EXCLUDE_GLASS : root :: ThemeWidgetType = 117 ; pub const ThemeWidgetType_NS_THEME_MAC_VIBRANCY_LIGHT : root :: ThemeWidgetType = 118 ; pub const ThemeWidgetType_NS_THEME_MAC_VIBRANCY_DARK : root :: ThemeWidgetType = 119 ; pub const ThemeWidgetType_NS_THEME_MAC_VIBRANT_TITLEBAR_LIGHT : root :: ThemeWidgetType = 120 ; pub const ThemeWidgetType_NS_THEME_MAC_VIBRANT_TITLEBAR_DARK : root :: ThemeWidgetType = 121 ; pub const ThemeWidgetType_NS_THEME_MAC_DISCLOSURE_BUTTON_OPEN : root :: ThemeWidgetType = 122 ; pub const ThemeWidgetType_NS_THEME_MAC_DISCLOSURE_BUTTON_CLOSED : root :: ThemeWidgetType = 123 ; pub const ThemeWidgetType_NS_THEME_GTK_INFO_BAR : root :: ThemeWidgetType = 124 ; pub const ThemeWidgetType_NS_THEME_MAC_SOURCE_LIST : root :: ThemeWidgetType = 125 ; pub const ThemeWidgetType_NS_THEME_MAC_SOURCE_LIST_SELECTION : root :: ThemeWidgetType = 126 ; pub const ThemeWidgetType_NS_THEME_MAC_ACTIVE_SOURCE_LIST_SELECTION : root :: ThemeWidgetType = 127 ; pub const ThemeWidgetType_ThemeWidgetType_COUNT : root :: ThemeWidgetType = 128 ; pub type ThemeWidgetType = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIConsoleReportCollector { _unused : [ u8 ; 0 ] } - /// Utility class to provide scaling defined in a keySplines element. - # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsSMILKeySpline { pub mX1 : f64 , pub mY1 : f64 , pub mX2 : f64 , pub mY2 : f64 , pub mSampleValues : [ f64 ; 11usize ] , } pub const nsSMILKeySpline_kSplineTableSize : root :: nsSMILKeySpline__bindgen_ty_1 = 11 ; pub type nsSMILKeySpline__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; extern "C" { - # [ link_name = "\u{1}_ZN15nsSMILKeySpline15kSampleStepSizeE" ] - pub static mut nsSMILKeySpline_kSampleStepSize : f64 ; -} # [ test ] fn bindgen_test_layout_nsSMILKeySpline ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsSMILKeySpline > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( nsSMILKeySpline ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsSMILKeySpline > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsSMILKeySpline ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mX1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mX1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mY1 as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mY1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mX2 as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mX2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mY2 as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mY2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mSampleValues as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mSampleValues ) ) ) ; } impl Clone for nsSMILKeySpline { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAttrName { pub mBits : usize , } # [ test ] fn bindgen_test_layout_nsAttrName ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAttrName > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsAttrName ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAttrName > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAttrName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrName ) ) . mBits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrName ) , "::" , stringify ! ( mBits ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAttrValue { pub mBits : usize , } pub const nsAttrValue_ValueType_eString : root :: nsAttrValue_ValueType = 0 ; pub const nsAttrValue_ValueType_eAtom : root :: nsAttrValue_ValueType = 2 ; pub const nsAttrValue_ValueType_eInteger : root :: nsAttrValue_ValueType = 3 ; pub const nsAttrValue_ValueType_eColor : root :: nsAttrValue_ValueType = 7 ; pub const nsAttrValue_ValueType_eEnum : root :: nsAttrValue_ValueType = 11 ; pub const nsAttrValue_ValueType_ePercent : root :: nsAttrValue_ValueType = 15 ; pub const nsAttrValue_ValueType_eCSSDeclaration : root :: nsAttrValue_ValueType = 16 ; pub const nsAttrValue_ValueType_eURL : root :: nsAttrValue_ValueType = 17 ; pub const nsAttrValue_ValueType_eImage : root :: nsAttrValue_ValueType = 18 ; pub const nsAttrValue_ValueType_eAtomArray : root :: nsAttrValue_ValueType = 19 ; pub const nsAttrValue_ValueType_eDoubleValue : root :: nsAttrValue_ValueType = 20 ; pub const nsAttrValue_ValueType_eIntMarginValue : root :: nsAttrValue_ValueType = 21 ; pub const nsAttrValue_ValueType_eSVGAngle : root :: nsAttrValue_ValueType = 22 ; pub const nsAttrValue_ValueType_eSVGTypesBegin : root :: nsAttrValue_ValueType = 22 ; pub const nsAttrValue_ValueType_eSVGIntegerPair : root :: nsAttrValue_ValueType = 23 ; pub const nsAttrValue_ValueType_eSVGLength : root :: nsAttrValue_ValueType = 24 ; pub const nsAttrValue_ValueType_eSVGLengthList : root :: nsAttrValue_ValueType = 25 ; pub const nsAttrValue_ValueType_eSVGNumberList : root :: nsAttrValue_ValueType = 26 ; pub const nsAttrValue_ValueType_eSVGNumberPair : root :: nsAttrValue_ValueType = 27 ; pub const nsAttrValue_ValueType_eSVGPathData : root :: nsAttrValue_ValueType = 28 ; pub const nsAttrValue_ValueType_eSVGPointList : root :: nsAttrValue_ValueType = 29 ; pub const nsAttrValue_ValueType_eSVGPreserveAspectRatio : root :: nsAttrValue_ValueType = 30 ; pub const nsAttrValue_ValueType_eSVGStringList : root :: nsAttrValue_ValueType = 31 ; pub const nsAttrValue_ValueType_eSVGTransformList : root :: nsAttrValue_ValueType = 32 ; pub const nsAttrValue_ValueType_eSVGViewBox : root :: nsAttrValue_ValueType = 33 ; pub const nsAttrValue_ValueType_eSVGTypesEnd : root :: nsAttrValue_ValueType = 33 ; pub type nsAttrValue_ValueType = :: std :: os :: raw :: c_uint ; + # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsCOMArray { pub mBuffer : root :: nsTArray < * mut root :: nsISupports > , } pub const ThemeWidgetType_NS_THEME_NONE : root :: ThemeWidgetType = 0 ; pub const ThemeWidgetType_NS_THEME_BUTTON : root :: ThemeWidgetType = 1 ; pub const ThemeWidgetType_NS_THEME_RADIO : root :: ThemeWidgetType = 2 ; pub const ThemeWidgetType_NS_THEME_CHECKBOX : root :: ThemeWidgetType = 3 ; pub const ThemeWidgetType_NS_THEME_BUTTON_BEVEL : root :: ThemeWidgetType = 4 ; pub const ThemeWidgetType_NS_THEME_FOCUS_OUTLINE : root :: ThemeWidgetType = 5 ; pub const ThemeWidgetType_NS_THEME_TOOLBOX : root :: ThemeWidgetType = 6 ; pub const ThemeWidgetType_NS_THEME_TOOLBAR : root :: ThemeWidgetType = 7 ; pub const ThemeWidgetType_NS_THEME_TOOLBARBUTTON : root :: ThemeWidgetType = 8 ; pub const ThemeWidgetType_NS_THEME_DUALBUTTON : root :: ThemeWidgetType = 9 ; pub const ThemeWidgetType_NS_THEME_TOOLBARBUTTON_DROPDOWN : root :: ThemeWidgetType = 10 ; pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_UP : root :: ThemeWidgetType = 11 ; pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_DOWN : root :: ThemeWidgetType = 12 ; pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_NEXT : root :: ThemeWidgetType = 13 ; pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_PREVIOUS : root :: ThemeWidgetType = 14 ; pub const ThemeWidgetType_NS_THEME_SEPARATOR : root :: ThemeWidgetType = 15 ; pub const ThemeWidgetType_NS_THEME_TOOLBARGRIPPER : root :: ThemeWidgetType = 16 ; pub const ThemeWidgetType_NS_THEME_SPLITTER : root :: ThemeWidgetType = 17 ; pub const ThemeWidgetType_NS_THEME_STATUSBAR : root :: ThemeWidgetType = 18 ; pub const ThemeWidgetType_NS_THEME_STATUSBARPANEL : root :: ThemeWidgetType = 19 ; pub const ThemeWidgetType_NS_THEME_RESIZERPANEL : root :: ThemeWidgetType = 20 ; pub const ThemeWidgetType_NS_THEME_RESIZER : root :: ThemeWidgetType = 21 ; pub const ThemeWidgetType_NS_THEME_LISTBOX : root :: ThemeWidgetType = 22 ; pub const ThemeWidgetType_NS_THEME_LISTITEM : root :: ThemeWidgetType = 23 ; pub const ThemeWidgetType_NS_THEME_TREEVIEW : root :: ThemeWidgetType = 24 ; pub const ThemeWidgetType_NS_THEME_TREEITEM : root :: ThemeWidgetType = 25 ; pub const ThemeWidgetType_NS_THEME_TREETWISTY : root :: ThemeWidgetType = 26 ; pub const ThemeWidgetType_NS_THEME_TREELINE : root :: ThemeWidgetType = 27 ; pub const ThemeWidgetType_NS_THEME_TREEHEADER : root :: ThemeWidgetType = 28 ; pub const ThemeWidgetType_NS_THEME_TREEHEADERCELL : root :: ThemeWidgetType = 29 ; pub const ThemeWidgetType_NS_THEME_TREEHEADERSORTARROW : root :: ThemeWidgetType = 30 ; pub const ThemeWidgetType_NS_THEME_TREETWISTYOPEN : root :: ThemeWidgetType = 31 ; pub const ThemeWidgetType_NS_THEME_PROGRESSBAR : root :: ThemeWidgetType = 32 ; pub const ThemeWidgetType_NS_THEME_PROGRESSCHUNK : root :: ThemeWidgetType = 33 ; pub const ThemeWidgetType_NS_THEME_PROGRESSBAR_VERTICAL : root :: ThemeWidgetType = 34 ; pub const ThemeWidgetType_NS_THEME_PROGRESSCHUNK_VERTICAL : root :: ThemeWidgetType = 35 ; pub const ThemeWidgetType_NS_THEME_METERBAR : root :: ThemeWidgetType = 36 ; pub const ThemeWidgetType_NS_THEME_METERCHUNK : root :: ThemeWidgetType = 37 ; pub const ThemeWidgetType_NS_THEME_TAB : root :: ThemeWidgetType = 38 ; pub const ThemeWidgetType_NS_THEME_TABPANEL : root :: ThemeWidgetType = 39 ; pub const ThemeWidgetType_NS_THEME_TABPANELS : root :: ThemeWidgetType = 40 ; pub const ThemeWidgetType_NS_THEME_TAB_SCROLL_ARROW_BACK : root :: ThemeWidgetType = 41 ; pub const ThemeWidgetType_NS_THEME_TAB_SCROLL_ARROW_FORWARD : root :: ThemeWidgetType = 42 ; pub const ThemeWidgetType_NS_THEME_TOOLTIP : root :: ThemeWidgetType = 43 ; pub const ThemeWidgetType_NS_THEME_INNER_SPIN_BUTTON : root :: ThemeWidgetType = 44 ; pub const ThemeWidgetType_NS_THEME_SPINNER : root :: ThemeWidgetType = 45 ; pub const ThemeWidgetType_NS_THEME_SPINNER_UPBUTTON : root :: ThemeWidgetType = 46 ; pub const ThemeWidgetType_NS_THEME_SPINNER_DOWNBUTTON : root :: ThemeWidgetType = 47 ; pub const ThemeWidgetType_NS_THEME_SPINNER_TEXTFIELD : root :: ThemeWidgetType = 48 ; pub const ThemeWidgetType_NS_THEME_NUMBER_INPUT : root :: ThemeWidgetType = 49 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR : root :: ThemeWidgetType = 50 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR_SMALL : root :: ThemeWidgetType = 51 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR_HORIZONTAL : root :: ThemeWidgetType = 52 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR_VERTICAL : root :: ThemeWidgetType = 53 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_UP : root :: ThemeWidgetType = 54 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_DOWN : root :: ThemeWidgetType = 55 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_LEFT : root :: ThemeWidgetType = 56 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_RIGHT : root :: ThemeWidgetType = 57 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARTRACK_HORIZONTAL : root :: ThemeWidgetType = 58 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARTRACK_VERTICAL : root :: ThemeWidgetType = 59 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARTHUMB_HORIZONTAL : root :: ThemeWidgetType = 60 ; pub const ThemeWidgetType_NS_THEME_SCROLLBARTHUMB_VERTICAL : root :: ThemeWidgetType = 61 ; pub const ThemeWidgetType_NS_THEME_SCROLLBAR_NON_DISAPPEARING : root :: ThemeWidgetType = 62 ; pub const ThemeWidgetType_NS_THEME_TEXTFIELD : root :: ThemeWidgetType = 63 ; pub const ThemeWidgetType_NS_THEME_CARET : root :: ThemeWidgetType = 64 ; pub const ThemeWidgetType_NS_THEME_TEXTFIELD_MULTILINE : root :: ThemeWidgetType = 65 ; pub const ThemeWidgetType_NS_THEME_SEARCHFIELD : root :: ThemeWidgetType = 66 ; pub const ThemeWidgetType_NS_THEME_MENULIST : root :: ThemeWidgetType = 67 ; pub const ThemeWidgetType_NS_THEME_MENULIST_BUTTON : root :: ThemeWidgetType = 68 ; pub const ThemeWidgetType_NS_THEME_MENULIST_TEXT : root :: ThemeWidgetType = 69 ; pub const ThemeWidgetType_NS_THEME_MENULIST_TEXTFIELD : root :: ThemeWidgetType = 70 ; pub const ThemeWidgetType_NS_THEME_SCALE_HORIZONTAL : root :: ThemeWidgetType = 71 ; pub const ThemeWidgetType_NS_THEME_SCALE_VERTICAL : root :: ThemeWidgetType = 72 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMB_HORIZONTAL : root :: ThemeWidgetType = 73 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMB_VERTICAL : root :: ThemeWidgetType = 74 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMBSTART : root :: ThemeWidgetType = 75 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMBEND : root :: ThemeWidgetType = 76 ; pub const ThemeWidgetType_NS_THEME_SCALETHUMBTICK : root :: ThemeWidgetType = 77 ; pub const ThemeWidgetType_NS_THEME_RANGE : root :: ThemeWidgetType = 78 ; pub const ThemeWidgetType_NS_THEME_RANGE_THUMB : root :: ThemeWidgetType = 79 ; pub const ThemeWidgetType_NS_THEME_GROUPBOX : root :: ThemeWidgetType = 80 ; pub const ThemeWidgetType_NS_THEME_CHECKBOX_CONTAINER : root :: ThemeWidgetType = 81 ; pub const ThemeWidgetType_NS_THEME_RADIO_CONTAINER : root :: ThemeWidgetType = 82 ; pub const ThemeWidgetType_NS_THEME_CHECKBOX_LABEL : root :: ThemeWidgetType = 83 ; pub const ThemeWidgetType_NS_THEME_RADIO_LABEL : root :: ThemeWidgetType = 84 ; pub const ThemeWidgetType_NS_THEME_BUTTON_FOCUS : root :: ThemeWidgetType = 85 ; pub const ThemeWidgetType_NS_THEME_WINDOW : root :: ThemeWidgetType = 86 ; pub const ThemeWidgetType_NS_THEME_DIALOG : root :: ThemeWidgetType = 87 ; pub const ThemeWidgetType_NS_THEME_MENUBAR : root :: ThemeWidgetType = 88 ; pub const ThemeWidgetType_NS_THEME_MENUPOPUP : root :: ThemeWidgetType = 89 ; pub const ThemeWidgetType_NS_THEME_MENUITEM : root :: ThemeWidgetType = 90 ; pub const ThemeWidgetType_NS_THEME_CHECKMENUITEM : root :: ThemeWidgetType = 91 ; pub const ThemeWidgetType_NS_THEME_RADIOMENUITEM : root :: ThemeWidgetType = 92 ; pub const ThemeWidgetType_NS_THEME_MENUCHECKBOX : root :: ThemeWidgetType = 93 ; pub const ThemeWidgetType_NS_THEME_MENURADIO : root :: ThemeWidgetType = 94 ; pub const ThemeWidgetType_NS_THEME_MENUSEPARATOR : root :: ThemeWidgetType = 95 ; pub const ThemeWidgetType_NS_THEME_MENUARROW : root :: ThemeWidgetType = 96 ; pub const ThemeWidgetType_NS_THEME_MENUIMAGE : root :: ThemeWidgetType = 97 ; pub const ThemeWidgetType_NS_THEME_MENUITEMTEXT : root :: ThemeWidgetType = 98 ; pub const ThemeWidgetType_NS_THEME_WIN_COMMUNICATIONS_TOOLBOX : root :: ThemeWidgetType = 99 ; pub const ThemeWidgetType_NS_THEME_WIN_MEDIA_TOOLBOX : root :: ThemeWidgetType = 100 ; pub const ThemeWidgetType_NS_THEME_WIN_BROWSERTABBAR_TOOLBOX : root :: ThemeWidgetType = 101 ; pub const ThemeWidgetType_NS_THEME_MAC_FULLSCREEN_BUTTON : root :: ThemeWidgetType = 102 ; pub const ThemeWidgetType_NS_THEME_MAC_HELP_BUTTON : root :: ThemeWidgetType = 103 ; pub const ThemeWidgetType_NS_THEME_WIN_BORDERLESS_GLASS : root :: ThemeWidgetType = 104 ; pub const ThemeWidgetType_NS_THEME_WIN_GLASS : root :: ThemeWidgetType = 105 ; pub const ThemeWidgetType_NS_THEME_WINDOW_TITLEBAR : root :: ThemeWidgetType = 106 ; pub const ThemeWidgetType_NS_THEME_WINDOW_TITLEBAR_MAXIMIZED : root :: ThemeWidgetType = 107 ; pub const ThemeWidgetType_NS_THEME_WINDOW_FRAME_LEFT : root :: ThemeWidgetType = 108 ; pub const ThemeWidgetType_NS_THEME_WINDOW_FRAME_RIGHT : root :: ThemeWidgetType = 109 ; pub const ThemeWidgetType_NS_THEME_WINDOW_FRAME_BOTTOM : root :: ThemeWidgetType = 110 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_CLOSE : root :: ThemeWidgetType = 111 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_MINIMIZE : root :: ThemeWidgetType = 112 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_MAXIMIZE : root :: ThemeWidgetType = 113 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_RESTORE : root :: ThemeWidgetType = 114 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_BOX : root :: ThemeWidgetType = 115 ; pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_BOX_MAXIMIZED : root :: ThemeWidgetType = 116 ; pub const ThemeWidgetType_NS_THEME_WIN_EXCLUDE_GLASS : root :: ThemeWidgetType = 117 ; pub const ThemeWidgetType_NS_THEME_MAC_VIBRANCY_LIGHT : root :: ThemeWidgetType = 118 ; pub const ThemeWidgetType_NS_THEME_MAC_VIBRANCY_DARK : root :: ThemeWidgetType = 119 ; pub const ThemeWidgetType_NS_THEME_MAC_VIBRANT_TITLEBAR_LIGHT : root :: ThemeWidgetType = 120 ; pub const ThemeWidgetType_NS_THEME_MAC_VIBRANT_TITLEBAR_DARK : root :: ThemeWidgetType = 121 ; pub const ThemeWidgetType_NS_THEME_MAC_DISCLOSURE_BUTTON_OPEN : root :: ThemeWidgetType = 122 ; pub const ThemeWidgetType_NS_THEME_MAC_DISCLOSURE_BUTTON_CLOSED : root :: ThemeWidgetType = 123 ; pub const ThemeWidgetType_NS_THEME_GTK_INFO_BAR : root :: ThemeWidgetType = 124 ; pub const ThemeWidgetType_NS_THEME_MAC_SOURCE_LIST : root :: ThemeWidgetType = 125 ; pub const ThemeWidgetType_NS_THEME_MAC_SOURCE_LIST_SELECTION : root :: ThemeWidgetType = 126 ; pub const ThemeWidgetType_NS_THEME_MAC_ACTIVE_SOURCE_LIST_SELECTION : root :: ThemeWidgetType = 127 ; pub const ThemeWidgetType_ThemeWidgetType_COUNT : root :: ThemeWidgetType = 128 ; pub type ThemeWidgetType = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIConsoleReportCollector { _unused : [ u8 ; 0 ] } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMElement { pub _base : root :: nsIDOMNode , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMElement_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMElement ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMElement > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMElement ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMElement > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMElement ) ) ) ; } impl Clone for nsIDOMElement { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMHTMLElement { pub _base : root :: nsIDOMElement , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMHTMLElement_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMHTMLElement ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMHTMLElement > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMHTMLElement ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMHTMLElement > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMHTMLElement ) ) ) ; } impl Clone for nsIDOMHTMLElement { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAttrName { pub mBits : usize , } # [ test ] fn bindgen_test_layout_nsAttrName ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsAttrName > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsAttrName ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsAttrName > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsAttrName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsAttrName ) ) . mBits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsAttrName ) , "::" , stringify ! ( mBits ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsAttrValue { pub mBits : usize , } pub const nsAttrValue_ValueType_eString : root :: nsAttrValue_ValueType = 0 ; pub const nsAttrValue_ValueType_eAtom : root :: nsAttrValue_ValueType = 2 ; pub const nsAttrValue_ValueType_eInteger : root :: nsAttrValue_ValueType = 3 ; pub const nsAttrValue_ValueType_eColor : root :: nsAttrValue_ValueType = 7 ; pub const nsAttrValue_ValueType_eEnum : root :: nsAttrValue_ValueType = 11 ; pub const nsAttrValue_ValueType_ePercent : root :: nsAttrValue_ValueType = 15 ; pub const nsAttrValue_ValueType_eCSSDeclaration : root :: nsAttrValue_ValueType = 16 ; pub const nsAttrValue_ValueType_eURL : root :: nsAttrValue_ValueType = 17 ; pub const nsAttrValue_ValueType_eImage : root :: nsAttrValue_ValueType = 18 ; pub const nsAttrValue_ValueType_eAtomArray : root :: nsAttrValue_ValueType = 19 ; pub const nsAttrValue_ValueType_eDoubleValue : root :: nsAttrValue_ValueType = 20 ; pub const nsAttrValue_ValueType_eIntMarginValue : root :: nsAttrValue_ValueType = 21 ; pub const nsAttrValue_ValueType_eSVGAngle : root :: nsAttrValue_ValueType = 22 ; pub const nsAttrValue_ValueType_eSVGTypesBegin : root :: nsAttrValue_ValueType = 22 ; pub const nsAttrValue_ValueType_eSVGIntegerPair : root :: nsAttrValue_ValueType = 23 ; pub const nsAttrValue_ValueType_eSVGLength : root :: nsAttrValue_ValueType = 24 ; pub const nsAttrValue_ValueType_eSVGLengthList : root :: nsAttrValue_ValueType = 25 ; pub const nsAttrValue_ValueType_eSVGNumberList : root :: nsAttrValue_ValueType = 26 ; pub const nsAttrValue_ValueType_eSVGNumberPair : root :: nsAttrValue_ValueType = 27 ; pub const nsAttrValue_ValueType_eSVGPathData : root :: nsAttrValue_ValueType = 28 ; pub const nsAttrValue_ValueType_eSVGPointList : root :: nsAttrValue_ValueType = 29 ; pub const nsAttrValue_ValueType_eSVGPreserveAspectRatio : root :: nsAttrValue_ValueType = 30 ; pub const nsAttrValue_ValueType_eSVGStringList : root :: nsAttrValue_ValueType = 31 ; pub const nsAttrValue_ValueType_eSVGTransformList : root :: nsAttrValue_ValueType = 32 ; pub const nsAttrValue_ValueType_eSVGViewBox : root :: nsAttrValue_ValueType = 33 ; pub const nsAttrValue_ValueType_eSVGTypesEnd : root :: nsAttrValue_ValueType = 33 ; pub type nsAttrValue_ValueType = :: std :: os :: raw :: c_uint ; /// Structure for a mapping from int (enum) values to strings. When you use /// it you generally create an array of them. /// Instantiate like this: @@ -1716,7 +1714,50 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: /// Each theme backend defines the ThemeGeometryType values it needs in its /// own nsITheme subclass. eThemeGeometryTypeUnknown is the only value that's /// shared between backends. - pub type nsITheme_ThemeGeometryType = u8 ; pub const nsITheme_eThemeGeometryTypeUnknown : root :: nsITheme__bindgen_ty_1 = 0 ; pub type nsITheme__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_nsITheme ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsITheme > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsITheme ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsITheme > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsITheme ) ) ) ; } impl Clone for nsITheme { fn clone ( & self ) -> Self { * self } } pub type nsIWidget_LayoutDeviceIntPoint = root :: mozilla :: LayoutDeviceIntPoint ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsIWidget_LongTapInfo { pub mPointerId : i32 , pub mPosition : root :: nsIWidget_LayoutDeviceIntPoint , pub mDuration : root :: mozilla :: TimeDuration , pub mObserver : root :: nsCOMPtr , pub mStamp : root :: mozilla :: TimeStamp , } # [ test ] fn bindgen_test_layout_nsIWidget_LongTapInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIWidget_LongTapInfo > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsIWidget_LongTapInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIWidget_LongTapInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIWidget_LongTapInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIWidget_LongTapInfo ) ) . mPointerId as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsIWidget_LongTapInfo ) , "::" , stringify ! ( mPointerId ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIWidget_LongTapInfo ) ) . mPosition as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsIWidget_LongTapInfo ) , "::" , stringify ! ( mPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIWidget_LongTapInfo ) ) . mDuration as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsIWidget_LongTapInfo ) , "::" , stringify ! ( mDuration ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIWidget_LongTapInfo ) ) . mObserver as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsIWidget_LongTapInfo ) , "::" , stringify ! ( mObserver ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIWidget_LongTapInfo ) ) . mStamp as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsIWidget_LongTapInfo ) , "::" , stringify ! ( mStamp ) ) ) ; } pub const ELEMENT_SHARED_RESTYLE_BIT_1 : root :: _bindgen_ty_79 = 8388608 ; pub const ELEMENT_SHARED_RESTYLE_BIT_2 : root :: _bindgen_ty_79 = 16777216 ; pub const ELEMENT_SHARED_RESTYLE_BIT_3 : root :: _bindgen_ty_79 = 33554432 ; pub const ELEMENT_SHARED_RESTYLE_BIT_4 : root :: _bindgen_ty_79 = 67108864 ; pub const ELEMENT_SHARED_RESTYLE_BITS : root :: _bindgen_ty_79 = 125829120 ; pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO : root :: _bindgen_ty_79 = 8388608 ; pub const ELEMENT_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO : root :: _bindgen_ty_79 = 16777216 ; pub const ELEMENT_HAS_SNAPSHOT : root :: _bindgen_ty_79 = 33554432 ; pub const ELEMENT_HANDLED_SNAPSHOT : root :: _bindgen_ty_79 = 67108864 ; pub const ELEMENT_HAS_PENDING_RESTYLE : root :: _bindgen_ty_79 = 8388608 ; pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT : root :: _bindgen_ty_79 = 16777216 ; pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE : root :: _bindgen_ty_79 = 33554432 ; pub const ELEMENT_IS_POTENTIAL_ANIMATION_ONLY_RESTYLE_ROOT : root :: _bindgen_ty_79 = 67108864 ; pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR : root :: _bindgen_ty_79 = 134217728 ; pub const ELEMENT_HAS_CHILD_WITH_LATER_SIBLINGS_HINT : root :: _bindgen_ty_79 = 268435456 ; pub const ELEMENT_PENDING_RESTYLE_FLAGS : root :: _bindgen_ty_79 = 41943040 ; pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS : root :: _bindgen_ty_79 = 83886080 ; pub const ELEMENT_ALL_RESTYLE_FLAGS : root :: _bindgen_ty_79 = 260046848 ; pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET : root :: _bindgen_ty_79 = 27 ; pub type _bindgen_ty_79 = :: std :: os :: raw :: c_uint ; pub const GECKO_IS_NIGHTLY : bool = true ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ServoBundledURI { pub mURLString : * const u8 , pub mURLStringLength : u32 , pub mExtraData : * mut root :: mozilla :: URLExtraData , } # [ test ] fn bindgen_test_layout_ServoBundledURI ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoBundledURI > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( ServoBundledURI ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoBundledURI > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoBundledURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mURLString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mURLString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mURLStringLength as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mURLStringLength ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mExtraData as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mExtraData ) ) ) ; } impl Clone for ServoBundledURI { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FontSizePrefs { pub mDefaultVariableSize : root :: nscoord , pub mDefaultFixedSize : root :: nscoord , pub mDefaultSerifSize : root :: nscoord , pub mDefaultSansSerifSize : root :: nscoord , pub mDefaultMonospaceSize : root :: nscoord , pub mDefaultCursiveSize : root :: nscoord , pub mDefaultFantasySize : root :: nscoord , } # [ test ] fn bindgen_test_layout_FontSizePrefs ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FontSizePrefs > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( FontSizePrefs ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FontSizePrefs > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( FontSizePrefs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultVariableSize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultVariableSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultFixedSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultFixedSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultSerifSize as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultSerifSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultSansSerifSize as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultSansSerifSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultMonospaceSize as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultMonospaceSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultCursiveSize as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultCursiveSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultFantasySize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultFantasySize ) ) ) ; } impl Clone for FontSizePrefs { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct GeckoFontMetrics { pub mChSize : root :: nscoord , pub mXSize : root :: nscoord , } # [ test ] fn bindgen_test_layout_GeckoFontMetrics ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoFontMetrics > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( GeckoFontMetrics ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoFontMetrics > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( GeckoFontMetrics ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoFontMetrics ) ) . mChSize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoFontMetrics ) , "::" , stringify ! ( mChSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoFontMetrics ) ) . mXSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoFontMetrics ) , "::" , stringify ! ( mXSize ) ) ) ; } impl Clone for GeckoFontMetrics { fn clone ( & self ) -> Self { * self } } pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_after : u32 = 65 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_before : u32 = 65 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_backdrop : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_cue : u32 = 36 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_firstLetter : u32 = 3 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_firstLine : u32 = 3 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozSelection : u32 = 2 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozFocusInner : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozFocusOuter : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozListBullet : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozListNumber : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozMathAnonymous : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberWrapper : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberText : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinBox : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinUp : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinDown : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozProgressBar : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeTrack : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeProgress : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeThumb : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozMeterBar : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozPlaceholder : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_placeholder : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozColorSwatch : u32 = 12 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMMediaList { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMMediaList_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMMediaList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMMediaList > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMMediaList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMMediaList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMMediaList ) ) ) ; } impl Clone for nsIDOMMediaList { fn clone ( & self ) -> Self { * self } } pub type nsCSSAnonBoxes_NonInheritingBase = u8 ; pub const nsCSSAnonBoxes_NonInheriting_oofPlaceholder : root :: nsCSSAnonBoxes_NonInheriting = 0 ; pub const nsCSSAnonBoxes_NonInheriting_horizontalFramesetBorder : root :: nsCSSAnonBoxes_NonInheriting = 1 ; pub const nsCSSAnonBoxes_NonInheriting_verticalFramesetBorder : root :: nsCSSAnonBoxes_NonInheriting = 2 ; pub const nsCSSAnonBoxes_NonInheriting_framesetBlank : root :: nsCSSAnonBoxes_NonInheriting = 3 ; pub const nsCSSAnonBoxes_NonInheriting_tableColGroup : root :: nsCSSAnonBoxes_NonInheriting = 4 ; pub const nsCSSAnonBoxes_NonInheriting_tableCol : root :: nsCSSAnonBoxes_NonInheriting = 5 ; pub const nsCSSAnonBoxes_NonInheriting_pageBreak : root :: nsCSSAnonBoxes_NonInheriting = 6 ; pub const nsCSSAnonBoxes_NonInheriting__Count : root :: nsCSSAnonBoxes_NonInheriting = 7 ; pub type nsCSSAnonBoxes_NonInheriting = root :: nsCSSAnonBoxes_NonInheritingBase ; + pub type nsITheme_ThemeGeometryType = u8 ; pub const nsITheme_eThemeGeometryTypeUnknown : root :: nsITheme__bindgen_ty_1 = 0 ; pub type nsITheme__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; # [ test ] fn bindgen_test_layout_nsITheme ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsITheme > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsITheme ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsITheme > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsITheme ) ) ) ; } impl Clone for nsITheme { fn clone ( & self ) -> Self { * self } } pub type nsIWidget_LayoutDeviceIntPoint = root :: mozilla :: LayoutDeviceIntPoint ; # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsIWidget_LongTapInfo { pub mPointerId : i32 , pub mPosition : root :: nsIWidget_LayoutDeviceIntPoint , pub mDuration : root :: mozilla :: TimeDuration , pub mObserver : root :: nsCOMPtr , pub mStamp : root :: mozilla :: TimeStamp , } # [ test ] fn bindgen_test_layout_nsIWidget_LongTapInfo ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIWidget_LongTapInfo > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsIWidget_LongTapInfo ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIWidget_LongTapInfo > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIWidget_LongTapInfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIWidget_LongTapInfo ) ) . mPointerId as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsIWidget_LongTapInfo ) , "::" , stringify ! ( mPointerId ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIWidget_LongTapInfo ) ) . mPosition as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( nsIWidget_LongTapInfo ) , "::" , stringify ! ( mPosition ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIWidget_LongTapInfo ) ) . mDuration as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsIWidget_LongTapInfo ) , "::" , stringify ! ( mDuration ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIWidget_LongTapInfo ) ) . mObserver as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsIWidget_LongTapInfo ) , "::" , stringify ! ( mObserver ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsIWidget_LongTapInfo ) ) . mStamp as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsIWidget_LongTapInfo ) , "::" , stringify ! ( mStamp ) ) ) ; } pub const ELEMENT_SHARED_RESTYLE_BIT_1 : root :: _bindgen_ty_79 = 8388608 ; pub const ELEMENT_SHARED_RESTYLE_BIT_2 : root :: _bindgen_ty_79 = 16777216 ; pub const ELEMENT_SHARED_RESTYLE_BIT_3 : root :: _bindgen_ty_79 = 33554432 ; pub const ELEMENT_SHARED_RESTYLE_BIT_4 : root :: _bindgen_ty_79 = 67108864 ; pub const ELEMENT_SHARED_RESTYLE_BITS : root :: _bindgen_ty_79 = 125829120 ; pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO : root :: _bindgen_ty_79 = 8388608 ; pub const ELEMENT_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO : root :: _bindgen_ty_79 = 16777216 ; pub const ELEMENT_HAS_SNAPSHOT : root :: _bindgen_ty_79 = 33554432 ; pub const ELEMENT_HANDLED_SNAPSHOT : root :: _bindgen_ty_79 = 67108864 ; pub const ELEMENT_HAS_PENDING_RESTYLE : root :: _bindgen_ty_79 = 8388608 ; pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT : root :: _bindgen_ty_79 = 16777216 ; pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE : root :: _bindgen_ty_79 = 33554432 ; pub const ELEMENT_IS_POTENTIAL_ANIMATION_ONLY_RESTYLE_ROOT : root :: _bindgen_ty_79 = 67108864 ; pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR : root :: _bindgen_ty_79 = 134217728 ; pub const ELEMENT_HAS_CHILD_WITH_LATER_SIBLINGS_HINT : root :: _bindgen_ty_79 = 268435456 ; pub const ELEMENT_PENDING_RESTYLE_FLAGS : root :: _bindgen_ty_79 = 41943040 ; pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS : root :: _bindgen_ty_79 = 83886080 ; pub const ELEMENT_ALL_RESTYLE_FLAGS : root :: _bindgen_ty_79 = 260046848 ; pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET : root :: _bindgen_ty_79 = 27 ; pub type _bindgen_ty_79 = :: std :: os :: raw :: c_uint ; pub type nsStyledElementBase = root :: mozilla :: dom :: Element ; # [ repr ( C ) ] pub struct nsStyledElement { pub _base : root :: nsStyledElementBase , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsStyledElement_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsStyledElement ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsStyledElement > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( nsStyledElement ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsStyledElement > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsStyledElement ) ) ) ; } pub type nsMappedAttributeElementBase = root :: nsStyledElement ; # [ repr ( C ) ] pub struct nsMappedAttributeElement { pub _base : root :: nsMappedAttributeElementBase , } # [ test ] fn bindgen_test_layout_nsMappedAttributeElement ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsMappedAttributeElement > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( nsMappedAttributeElement ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsMappedAttributeElement > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsMappedAttributeElement ) ) ) ; } + /// The Name Space Manager tracks the association between a NameSpace + /// URI and the int32_t runtime id. Mappings between NameSpaces and + /// NameSpace prefixes are managed by nsINameSpaces. + /// + /// All NameSpace URIs are stored in a global table so that IDs are + /// consistent accross the app. NameSpace IDs are only consistent at runtime + /// ie: they are not guaranteed to be consistent accross app sessions. + /// + /// The nsNameSpaceManager needs to have a live reference for as long as + /// the NameSpace IDs are needed. + /// + # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsNameSpaceManager { pub _base : root :: nsIObserver , pub mRefCnt : root :: nsAutoRefCnt , pub mMathMLDisabled : bool , pub mSVGDisabled : bool , pub mURIToIDTable : [ u64 ; 4usize ] , pub mDisabledURIToIDTable : [ u64 ; 4usize ] , pub mURIArray : root :: nsTArray < root :: RefPtr < root :: nsAtom > > , } pub type nsNameSpaceManager_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; extern "C" { + # [ link_name = "\u{1}_ZN18nsNameSpaceManager9sInstanceE" ] + pub static mut nsNameSpaceManager_sInstance : root :: mozilla :: StaticRefPtr < root :: nsNameSpaceManager > ; +} # [ test ] fn bindgen_test_layout_nsNameSpaceManager ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsNameSpaceManager > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( nsNameSpaceManager ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsNameSpaceManager > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsNameSpaceManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNameSpaceManager ) ) . mRefCnt as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsNameSpaceManager ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNameSpaceManager ) ) . mMathMLDisabled as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsNameSpaceManager ) , "::" , stringify ! ( mMathMLDisabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNameSpaceManager ) ) . mSVGDisabled as * const _ as usize } , 17usize , concat ! ( "Alignment of field: " , stringify ! ( nsNameSpaceManager ) , "::" , stringify ! ( mSVGDisabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNameSpaceManager ) ) . mURIToIDTable as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsNameSpaceManager ) , "::" , stringify ! ( mURIToIDTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNameSpaceManager ) ) . mDisabledURIToIDTable as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsNameSpaceManager ) , "::" , stringify ! ( mDisabledURIToIDTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNameSpaceManager ) ) . mURIArray as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsNameSpaceManager ) , "::" , stringify ! ( mURIArray ) ) ) ; } pub type nsGenericHTMLElementBase = root :: nsMappedAttributeElement ; + /// A common superclass for HTML elements + # [ repr ( C ) ] pub struct nsGenericHTMLElement { pub _base : root :: nsGenericHTMLElementBase , pub _base_1 : root :: nsIDOMHTMLElement , } pub type nsGenericHTMLElement_Element = root :: mozilla :: dom :: Element ; pub const nsGenericHTMLElement_PresContextFor_eForComposedDoc : root :: nsGenericHTMLElement_PresContextFor = 0 ; pub const nsGenericHTMLElement_PresContextFor_eForUncomposedDoc : root :: nsGenericHTMLElement_PresContextFor = 1 ; pub type nsGenericHTMLElement_PresContextFor = :: std :: os :: raw :: c_uint ; pub const nsGenericHTMLElement_ContentEditableTristate_eInherit : root :: nsGenericHTMLElement_ContentEditableTristate = -1 ; pub const nsGenericHTMLElement_ContentEditableTristate_eFalse : root :: nsGenericHTMLElement_ContentEditableTristate = 0 ; pub const nsGenericHTMLElement_ContentEditableTristate_eTrue : root :: nsGenericHTMLElement_ContentEditableTristate = 1 ; pub type nsGenericHTMLElement_ContentEditableTristate = :: std :: os :: raw :: c_int ; extern "C" { + # [ link_name = "\u{1}_ZN20nsGenericHTMLElement19sCommonAttributeMapE" ] + pub static mut nsGenericHTMLElement_sCommonAttributeMap : [ root :: mozilla :: dom :: Element_MappedAttributeEntry ; 0usize ] ; +} extern "C" { + # [ link_name = "\u{1}_ZN20nsGenericHTMLElement28sImageMarginSizeAttributeMapE" ] + pub static mut nsGenericHTMLElement_sImageMarginSizeAttributeMap : [ root :: mozilla :: dom :: Element_MappedAttributeEntry ; 0usize ] ; +} extern "C" { + # [ link_name = "\u{1}_ZN20nsGenericHTMLElement24sImageBorderAttributeMapE" ] + pub static mut nsGenericHTMLElement_sImageBorderAttributeMap : [ root :: mozilla :: dom :: Element_MappedAttributeEntry ; 0usize ] ; +} extern "C" { + # [ link_name = "\u{1}_ZN20nsGenericHTMLElement23sImageAlignAttributeMapE" ] + pub static mut nsGenericHTMLElement_sImageAlignAttributeMap : [ root :: mozilla :: dom :: Element_MappedAttributeEntry ; 0usize ] ; +} extern "C" { + # [ link_name = "\u{1}_ZN20nsGenericHTMLElement21sDivAlignAttributeMapE" ] + pub static mut nsGenericHTMLElement_sDivAlignAttributeMap : [ root :: mozilla :: dom :: Element_MappedAttributeEntry ; 0usize ] ; +} extern "C" { + # [ link_name = "\u{1}_ZN20nsGenericHTMLElement23sBackgroundAttributeMapE" ] + pub static mut nsGenericHTMLElement_sBackgroundAttributeMap : [ root :: mozilla :: dom :: Element_MappedAttributeEntry ; 0usize ] ; +} extern "C" { + # [ link_name = "\u{1}_ZN20nsGenericHTMLElement28sBackgroundColorAttributeMapE" ] + pub static mut nsGenericHTMLElement_sBackgroundColorAttributeMap : [ root :: mozilla :: dom :: Element_MappedAttributeEntry ; 0usize ] ; +} # [ test ] fn bindgen_test_layout_nsGenericHTMLElement ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsGenericHTMLElement > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( nsGenericHTMLElement ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsGenericHTMLElement > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsGenericHTMLElement ) ) ) ; } + /// Utility class to provide scaling defined in a keySplines element. + # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsSMILKeySpline { pub mX1 : f64 , pub mY1 : f64 , pub mX2 : f64 , pub mY2 : f64 , pub mSampleValues : [ f64 ; 11usize ] , } pub const nsSMILKeySpline_kSplineTableSize : root :: nsSMILKeySpline__bindgen_ty_1 = 11 ; pub type nsSMILKeySpline__bindgen_ty_1 = :: std :: os :: raw :: c_uint ; extern "C" { + # [ link_name = "\u{1}_ZN15nsSMILKeySpline15kSampleStepSizeE" ] + pub static mut nsSMILKeySpline_kSampleStepSize : f64 ; +} # [ test ] fn bindgen_test_layout_nsSMILKeySpline ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsSMILKeySpline > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( nsSMILKeySpline ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsSMILKeySpline > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsSMILKeySpline ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mX1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mX1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mY1 as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mY1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mX2 as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mX2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mY2 as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mY2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsSMILKeySpline ) ) . mSampleValues as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsSMILKeySpline ) , "::" , stringify ! ( mSampleValues ) ) ) ; } impl Clone for nsSMILKeySpline { fn clone ( & self ) -> Self { * self } } pub const GECKO_IS_NIGHTLY : bool = true ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct ServoBundledURI { pub mURLString : * const u8 , pub mURLStringLength : u32 , pub mExtraData : * mut root :: mozilla :: URLExtraData , } # [ test ] fn bindgen_test_layout_ServoBundledURI ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ServoBundledURI > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( ServoBundledURI ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ServoBundledURI > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ServoBundledURI ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mURLString as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mURLString ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mURLStringLength as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mURLStringLength ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ServoBundledURI ) ) . mExtraData as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ServoBundledURI ) , "::" , stringify ! ( mExtraData ) ) ) ; } impl Clone for ServoBundledURI { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct FontSizePrefs { pub mDefaultVariableSize : root :: nscoord , pub mDefaultFixedSize : root :: nscoord , pub mDefaultSerifSize : root :: nscoord , pub mDefaultSansSerifSize : root :: nscoord , pub mDefaultMonospaceSize : root :: nscoord , pub mDefaultCursiveSize : root :: nscoord , pub mDefaultFantasySize : root :: nscoord , } # [ test ] fn bindgen_test_layout_FontSizePrefs ( ) { assert_eq ! ( :: std :: mem :: size_of :: < FontSizePrefs > ( ) , 28usize , concat ! ( "Size of: " , stringify ! ( FontSizePrefs ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < FontSizePrefs > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( FontSizePrefs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultVariableSize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultVariableSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultFixedSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultFixedSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultSerifSize as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultSerifSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultSansSerifSize as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultSansSerifSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultMonospaceSize as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultMonospaceSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultCursiveSize as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultCursiveSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const FontSizePrefs ) ) . mDefaultFantasySize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FontSizePrefs ) , "::" , stringify ! ( mDefaultFantasySize ) ) ) ; } impl Clone for FontSizePrefs { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct GeckoFontMetrics { pub mChSize : root :: nscoord , pub mXSize : root :: nscoord , } # [ test ] fn bindgen_test_layout_GeckoFontMetrics ( ) { assert_eq ! ( :: std :: mem :: size_of :: < GeckoFontMetrics > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( GeckoFontMetrics ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < GeckoFontMetrics > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( GeckoFontMetrics ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoFontMetrics ) ) . mChSize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoFontMetrics ) , "::" , stringify ! ( mChSize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const GeckoFontMetrics ) ) . mXSize as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( GeckoFontMetrics ) , "::" , stringify ! ( mXSize ) ) ) ; } impl Clone for GeckoFontMetrics { fn clone ( & self ) -> Self { * self } } pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_after : u32 = 65 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_before : u32 = 65 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_backdrop : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_cue : u32 = 36 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_firstLetter : u32 = 3 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_firstLine : u32 = 3 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozSelection : u32 = 2 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozFocusInner : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozFocusOuter : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozListBullet : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozListNumber : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozMathAnonymous : u32 = 0 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberWrapper : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberText : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinBox : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinUp : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinDown : u32 = 24 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozProgressBar : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeTrack : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeProgress : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeThumb : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozMeterBar : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozPlaceholder : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_placeholder : u32 = 8 ; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozColorSwatch : u32 = 12 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsIDOMMediaList { pub _base : root :: nsISupports , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct nsIDOMMediaList_COMTypeInfo { pub _address : u8 , } # [ test ] fn bindgen_test_layout_nsIDOMMediaList ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsIDOMMediaList > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsIDOMMediaList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsIDOMMediaList > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIDOMMediaList ) ) ) ; } impl Clone for nsIDOMMediaList { fn clone ( & self ) -> Self { * self } } pub type nsCSSAnonBoxes_NonInheritingBase = u8 ; pub const nsCSSAnonBoxes_NonInheriting_oofPlaceholder : root :: nsCSSAnonBoxes_NonInheriting = 0 ; pub const nsCSSAnonBoxes_NonInheriting_horizontalFramesetBorder : root :: nsCSSAnonBoxes_NonInheriting = 1 ; pub const nsCSSAnonBoxes_NonInheriting_verticalFramesetBorder : root :: nsCSSAnonBoxes_NonInheriting = 2 ; pub const nsCSSAnonBoxes_NonInheriting_framesetBlank : root :: nsCSSAnonBoxes_NonInheriting = 3 ; pub const nsCSSAnonBoxes_NonInheriting_tableColGroup : root :: nsCSSAnonBoxes_NonInheriting = 4 ; pub const nsCSSAnonBoxes_NonInheriting_tableCol : root :: nsCSSAnonBoxes_NonInheriting = 5 ; pub const nsCSSAnonBoxes_NonInheriting_pageBreak : root :: nsCSSAnonBoxes_NonInheriting = 6 ; pub const nsCSSAnonBoxes_NonInheriting__Count : root :: nsCSSAnonBoxes_NonInheriting = 7 ; pub type nsCSSAnonBoxes_NonInheriting = root :: nsCSSAnonBoxes_NonInheritingBase ; /// templated hashtable class maps keys to interface pointers. /// See nsBaseHashtable for complete declaration. /// @param KeyClass a wrapper-class for the hashtable key, see nsHashKeys.h @@ -1990,22 +2031,7 @@ pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<:: } extern "C" { # [ link_name = "\u{1}_ZN14nsContentUtils32sInnerOrOuterWindowSerialCounterE" ] pub static mut nsContentUtils_sInnerOrOuterWindowSerialCounter : u32 ; -} - /// The Name Space Manager tracks the association between a NameSpace - /// URI and the int32_t runtime id. Mappings between NameSpaces and - /// NameSpace prefixes are managed by nsINameSpaces. - /// - /// All NameSpace URIs are stored in a global table so that IDs are - /// consistent accross the app. NameSpace IDs are only consistent at runtime - /// ie: they are not guaranteed to be consistent accross app sessions. - /// - /// The nsNameSpaceManager needs to have a live reference for as long as - /// the NameSpace IDs are needed. - /// - # [ repr ( C ) ] # [ derive ( Debug ) ] pub struct nsNameSpaceManager { pub _base : root :: nsIObserver , pub mRefCnt : root :: nsAutoRefCnt , pub mMathMLDisabled : bool , pub mSVGDisabled : bool , pub mURIToIDTable : [ u64 ; 4usize ] , pub mDisabledURIToIDTable : [ u64 ; 4usize ] , pub mURIArray : root :: nsTArray < root :: RefPtr < root :: nsAtom > > , } pub type nsNameSpaceManager_HasThreadSafeRefCnt = root :: mozilla :: FalseType ; extern "C" { - # [ link_name = "\u{1}_ZN18nsNameSpaceManager9sInstanceE" ] - pub static mut nsNameSpaceManager_sInstance : root :: mozilla :: StaticRefPtr < root :: nsNameSpaceManager > ; -} # [ test ] fn bindgen_test_layout_nsNameSpaceManager ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsNameSpaceManager > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( nsNameSpaceManager ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsNameSpaceManager > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsNameSpaceManager ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNameSpaceManager ) ) . mRefCnt as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsNameSpaceManager ) , "::" , stringify ! ( mRefCnt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNameSpaceManager ) ) . mMathMLDisabled as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsNameSpaceManager ) , "::" , stringify ! ( mMathMLDisabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNameSpaceManager ) ) . mSVGDisabled as * const _ as usize } , 17usize , concat ! ( "Alignment of field: " , stringify ! ( nsNameSpaceManager ) , "::" , stringify ! ( mSVGDisabled ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNameSpaceManager ) ) . mURIToIDTable as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsNameSpaceManager ) , "::" , stringify ! ( mURIToIDTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNameSpaceManager ) ) . mDisabledURIToIDTable as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( nsNameSpaceManager ) , "::" , stringify ! ( mDisabledURIToIDTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsNameSpaceManager ) ) . mURIArray as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( nsNameSpaceManager ) , "::" , stringify ! ( mURIArray ) ) ) ; } pub type nsMediaFeatureValueGetter = :: std :: option :: Option < unsafe extern "C" fn ( aPresContext : * mut root :: nsPresContext , aFeature : * const root :: nsMediaFeature , aResult : * mut root :: nsCSSValue ) > ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsMediaFeature { pub mName : * mut * mut root :: nsStaticAtom , pub mRangeType : root :: nsMediaFeature_RangeType , pub mValueType : root :: nsMediaFeature_ValueType , pub mReqFlags : u8 , pub mData : root :: nsMediaFeature__bindgen_ty_1 , pub mGetter : root :: nsMediaFeatureValueGetter , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsMediaFeature_RangeType { eMinMaxAllowed = 0 , eMinMaxNotAllowed = 1 , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsMediaFeature_ValueType { eLength = 0 , eInteger = 1 , eFloat = 2 , eBoolInteger = 3 , eIntRatio = 4 , eResolution = 5 , eEnumerated = 6 , eIdent = 7 , } pub const nsMediaFeature_RequirementFlags_eNoRequirements : root :: nsMediaFeature_RequirementFlags = 0 ; pub const nsMediaFeature_RequirementFlags_eHasWebkitPrefix : root :: nsMediaFeature_RequirementFlags = 1 ; pub const nsMediaFeature_RequirementFlags_eWebkitDevicePixelRatioPrefEnabled : root :: nsMediaFeature_RequirementFlags = 2 ; pub const nsMediaFeature_RequirementFlags_eUserAgentAndChromeOnly : root :: nsMediaFeature_RequirementFlags = 4 ; pub type nsMediaFeature_RequirementFlags = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsMediaFeature__bindgen_ty_1 { pub mInitializer_ : root :: __BindgenUnionField < * const :: std :: os :: raw :: c_void > , pub mKeywordTable : root :: __BindgenUnionField < * const root :: nsCSSProps_KTableEntry > , pub mMetric : root :: __BindgenUnionField < * const * const root :: nsAtom > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsMediaFeature__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsMediaFeature__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsMediaFeature__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . mInitializer_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( mInitializer_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . mKeywordTable as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( mKeywordTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . mMetric as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( mMetric ) ) ) ; } impl Clone for nsMediaFeature__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsMediaFeature ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsMediaFeature > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsMediaFeature ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsMediaFeature > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsMediaFeature ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mName as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mRangeType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mRangeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mValueType as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mValueType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mReqFlags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mReqFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mData as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mGetter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mGetter ) ) ) ; } impl Clone for nsMediaFeature { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsMediaFeatures { pub _address : u8 , } extern "C" { +} pub type nsMediaFeatureValueGetter = :: std :: option :: Option < unsafe extern "C" fn ( aPresContext : * mut root :: nsPresContext , aFeature : * const root :: nsMediaFeature , aResult : * mut root :: nsCSSValue ) > ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsMediaFeature { pub mName : * mut * mut root :: nsStaticAtom , pub mRangeType : root :: nsMediaFeature_RangeType , pub mValueType : root :: nsMediaFeature_ValueType , pub mReqFlags : u8 , pub mData : root :: nsMediaFeature__bindgen_ty_1 , pub mGetter : root :: nsMediaFeatureValueGetter , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsMediaFeature_RangeType { eMinMaxAllowed = 0 , eMinMaxNotAllowed = 1 , } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum nsMediaFeature_ValueType { eLength = 0 , eInteger = 1 , eFloat = 2 , eBoolInteger = 3 , eIntRatio = 4 , eResolution = 5 , eEnumerated = 6 , eIdent = 7 , } pub const nsMediaFeature_RequirementFlags_eNoRequirements : root :: nsMediaFeature_RequirementFlags = 0 ; pub const nsMediaFeature_RequirementFlags_eHasWebkitPrefix : root :: nsMediaFeature_RequirementFlags = 1 ; pub const nsMediaFeature_RequirementFlags_eWebkitDevicePixelRatioPrefEnabled : root :: nsMediaFeature_RequirementFlags = 2 ; pub const nsMediaFeature_RequirementFlags_eUserAgentAndChromeOnly : root :: nsMediaFeature_RequirementFlags = 4 ; pub type nsMediaFeature_RequirementFlags = u8 ; # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsMediaFeature__bindgen_ty_1 { pub mInitializer_ : root :: __BindgenUnionField < * const :: std :: os :: raw :: c_void > , pub mKeywordTable : root :: __BindgenUnionField < * const root :: nsCSSProps_KTableEntry > , pub mMetric : root :: __BindgenUnionField < * const * const root :: nsAtom > , pub bindgen_union_field : u64 , } # [ test ] fn bindgen_test_layout_nsMediaFeature__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsMediaFeature__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsMediaFeature__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . mInitializer_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( mInitializer_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . mKeywordTable as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( mKeywordTable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . mMetric as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( mMetric ) ) ) ; } impl Clone for nsMediaFeature__bindgen_ty_1 { fn clone ( & self ) -> Self { * self } } # [ test ] fn bindgen_test_layout_nsMediaFeature ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsMediaFeature > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( nsMediaFeature ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsMediaFeature > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( nsMediaFeature ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mName as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mName ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mRangeType as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mRangeType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mValueType as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mValueType ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mReqFlags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mReqFlags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mData as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mData ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const nsMediaFeature ) ) . mGetter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( nsMediaFeature ) , "::" , stringify ! ( mGetter ) ) ) ; } impl Clone for nsMediaFeature { fn clone ( & self ) -> Self { * self } } # [ repr ( C ) ] # [ derive ( Debug , Copy ) ] pub struct nsMediaFeatures { pub _address : u8 , } extern "C" { # [ link_name = "\u{1}_ZN15nsMediaFeatures8featuresE" ] pub static mut nsMediaFeatures_features : [ root :: nsMediaFeature ; 0usize ] ; -} # [ test ] fn bindgen_test_layout_nsMediaFeatures ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsMediaFeatures > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( nsMediaFeatures ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsMediaFeatures > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsMediaFeatures ) ) ) ; } impl Clone for nsMediaFeatures { fn clone ( & self ) -> Self { * self } } # [ test ] fn __bindgen_test_layout_nsTSubstring_open0_char16_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTSubstring < u16 > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTSubstring < u16 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTSubstring < u16 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTSubstring < u16 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTString_open0_char16_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ::nsstring::nsStringRepr > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( ::nsstring::nsStringRepr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ::nsstring::nsStringRepr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( ::nsstring::nsStringRepr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTSubstring_open0_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTSubstring < :: std :: os :: raw :: c_char > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTSubstring < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTSubstring < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTSubstring < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTString_open0_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTString < :: std :: os :: raw :: c_char > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTString < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTString < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTString < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_CSSVariableValues_Variable_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_FontFamilyName_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: FontFamilyName > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: FontFamilyName > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: FontFamilyName > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: FontFamilyName > ) ) ) ; } # [ test ] fn __bindgen_test_layout_NotNull_open0_RefPtr_open1_SharedFontList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_SharedFontList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: SharedFontList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: SharedFontList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontFeatureValueSet_ValueList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxAlternateValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxAlternateValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxAlternateValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxAlternateValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxAlternateValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_gfxFontFeatureValueSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontFeature_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontFeature > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeature > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontFeature > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeature > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontVariation_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontVariation > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontVariation > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontVariation > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontVariation > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_BaseTimeDuration_open0_TimeDurationValueCalculator_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: BaseTimeDuration > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: BaseTimeDuration ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: BaseTimeDuration > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: BaseTimeDuration ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_DeletePolicy_open1_JSErrorNotes_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_iterator_open0_input_iterator_tag_UniquePtr_open1_JSErrorNotes_Note_DeletePolicy_open2_JSErrorNotes_Note_close2_close1_long_ptr_UniquePtr_ref_UniquePtr_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: std :: iterator > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: std :: iterator ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: std :: iterator > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: std :: iterator ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_DeletePolicy_open1_JSErrorNotes_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_MediaList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: MediaList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: MediaList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: MediaList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: MediaList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_StyleSetHandle_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: StyleSetHandle > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: StyleSetHandle > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: StyleSetHandle > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: StyleSetHandle > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_ProfilerBacktrace_ProfilerBacktraceDestructor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsNodeInfoManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsNodeInfoManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsNodeInfoManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsNodeInfoManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsNodeInfoManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsBindingManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAttrChildContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAttrChildContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAttrChildContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAttrChildContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAttrChildContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_LinkedList_open1_nsRange_close1_DefaultDelete_open1_LinkedList_open2_nsRange_close2_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_LinkedList_open1_nsRange_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_LinkedList_open1_nsRange_close1_DefaultDelete_open1_LinkedList_open2_nsRange_close2_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_LinkedList_open1_nsRange_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_NodeInfo_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: NodeInfo > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: NodeInfo > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: NodeInfo > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: NodeInfo > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ShadowRoot_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_HTMLSlotElement_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsIContent_nsExtendedContentSlots_DefaultDelete_open1_nsIContent_nsExtendedContentSlots_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsIContent_nsExtendedContentSlots > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIContent_nsExtendedContentSlots > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsIContent_nsExtendedContentSlots > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIContent_nsExtendedContentSlots > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsIContent_nsExtendedContentSlots_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIWeakReference_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_void_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut :: std :: os :: raw :: c_void > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut :: std :: os :: raw :: c_void > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut :: std :: os :: raw :: c_void > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut :: std :: os :: raw :: c_void > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsPtrHashKey_open0_void_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsPtrHashKey < :: std :: os :: raw :: c_void > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsPtrHashKey < :: std :: os :: raw :: c_void > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsPtrHashKey < :: std :: os :: raw :: c_void > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsPtrHashKey < :: std :: os :: raw :: c_void > ) ) ) ; } # [ test ] fn __bindgen_test_layout_StaticRefPtr_open0_nsIContent_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: StaticRefPtr < root :: nsIContent > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsIContent > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: StaticRefPtr < root :: nsIContent > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsIContent > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsPresContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsPresContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsPresContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsPresContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsPresContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsFrameSelection_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsFrameSelection > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsFrameSelection > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsFrameSelection > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsFrameSelection > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsITimer_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsPtrHashKey_open0_WeakFrame_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsPtrHashKey < root :: WeakFrame > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: WeakFrame > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsPtrHashKey < root :: WeakFrame > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: WeakFrame > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCString_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCString > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCString > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCString > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCString > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_EventTarget_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_EventTarget_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_Performance_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: Performance > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: Performance > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: Performance > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: Performance > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_TimeoutManager_DefaultDelete_open1_TimeoutManager_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_TimeoutManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowOuter_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_AudioContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowInner_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_EventTarget_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_EventTarget_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_Element_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocShell_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowOuter_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsBaseContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsBaseContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBaseContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsBaseContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBaseContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsIdentifierMapEntry_ChangeCallbackEntry_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < u64 > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < u64 > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( u64 ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsIdentifierMapEntry_Element_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsIdentifierMapEntry_Element > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsIdentifierMapEntry_Element > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsIdentifierMapEntry_Element > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsIdentifierMapEntry_Element > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_StyleSheet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheetList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: StyleSheetList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: StyleSheetList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: StyleSheetList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: StyleSheetList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoAnimationValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PropertyValuePair_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleAnimation_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > > ( ) , 56usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_RawServoSelectorList_DefaultDelete_open1_RawServoSelectorList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsCSSSelectorList_DefaultDelete_open1_nsCSSSelectorList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSSelectorList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsCSSSelectorList_DefaultDelete_open1_nsCSSSelectorList_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSSelectorList_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_RawServoSelectorList_DefaultDelete_open1_RawServoSelectorList_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIObserver_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsIDocument_SelectorCache_DefaultDelete_open1_nsIDocument_SelectorCache_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsIDocument_SelectorCache_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsIDocument_SelectorCache_DefaultDelete_open1_nsIDocument_SelectorCache_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsIDocument_SelectorCache_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_7 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_8 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_9 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_NotNull_open0_ptr_const_nsIDocument__Encoding_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_Loader_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: Loader > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: Loader > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: Loader > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: Loader > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageLoader_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: ImageLoader > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageLoader > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: ImageLoader > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageLoader > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsHTMLStyleSheet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsHTMLStyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLStyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsHTMLStyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLStyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsHTMLCSSStyleSheet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsHTMLCSSStyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLCSSStyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsHTMLCSSStyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLCSSStyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageTracker_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsPtrHashKey_open2_nsISupports_close2_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < u64 > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < u64 > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( u64 ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_Link_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsSMILAnimationController_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsSMILAnimationController > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsSMILAnimationController > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsSMILAnimationController > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsSMILAnimationController > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsAutoPtr_open1_nsPropertyTable_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIHTMLCollection_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_FontFaceSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIScriptGlobalObject_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIChannel_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIChannel_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMArray_open0_nsINode_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsWeakPtr_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsWeakPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsWeakPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsWeakPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsWeakPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocumentEncoder_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsIDocument_FrameRequest_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsIDocument_FrameRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsIDocument_FrameRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsIDocument_FrameRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsIDocument_FrameRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIStructuredCloneContainer_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIVariant_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XPathEvaluator_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_AnonymousContent_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_LinkedList_open0_MediaQueryList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: LinkedList > ( ) , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: LinkedList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: LinkedList > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: LinkedList ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCOMPtr_open1_nsIRunnable_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIRunnable_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCOMPtr_open1_nsIPrincipal_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_uint64_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u64 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u64 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u64 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u64 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsINode_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_LangGroupFontPrefs_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDeviceContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDeviceContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDeviceContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDeviceContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDeviceContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_EventStateManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: EventStateManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EventStateManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: EventStateManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EventStateManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsRefreshDriver_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsRefreshDriver > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsRefreshDriver > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsRefreshDriver > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsRefreshDriver > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_EffectCompositor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: EffectCompositor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EffectCompositor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: EffectCompositor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EffectCompositor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsTransitionManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsTransitionManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsTransitionManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsTransitionManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsTransitionManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAnimationManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAnimationManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnimationManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAnimationManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnimationManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RestyleManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: RestyleManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: RestyleManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: RestyleManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: RestyleManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_CounterStyleManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: CounterStyleManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: CounterStyleManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: CounterStyleManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: CounterStyleManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_gfxFontFeatureValueSet_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsITheme_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrintSettings_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsITimer_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsBidi_DefaultDelete_open1_nsBidi_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsBidi > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBidi > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsBidi > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBidi > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsBidi_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsRect_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsRect > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsRect > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsRect > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsRect > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_gfxTextPerfMetrics_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: gfxTextPerfMetrics > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxTextPerfMetrics > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: gfxTextPerfMetrics > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxTextPerfMetrics > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_gfxMissingFontRecorder_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: gfxMissingFontRecorder > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxMissingFontRecorder > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: gfxMissingFontRecorder > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxMissingFontRecorder > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_URLParams_Param_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_URLParams_DefaultDelete_open1_URLParams_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_URLParams_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_10 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_11 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_const_char_FreePolicy_open1_const_char_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_FreePolicy_open0_const_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: detail :: FreePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: detail :: FreePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: detail :: FreePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: detail :: FreePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIEventTarget_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsMainThreadPtrHandle_open0_nsIURI_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsMainThreadPtrHandle < root :: nsIURI > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsMainThreadPtrHandle < root :: nsIURI > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsMainThreadPtrHandle < root :: nsIURI > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsMainThreadPtrHandle < root :: nsIURI > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsPtrHashKey_open0_nsIDocument_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsPtrHashKey < root :: nsIDocument > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: nsIDocument > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsPtrHashKey < root :: nsIDocument > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: nsIDocument > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_GridNamedArea_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: css :: GridNamedArea > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: css :: GridNamedArea > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: css :: GridNamedArea > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: css :: GridNamedArea > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsCSSValueList_DefaultDelete_open1_nsCSSValueList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSValueList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSValueList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSValueList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSValueList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSValueList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsCSSValuePairList_DefaultDelete_open1_nsCSSValuePairList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSValuePairList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSValuePairList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSValuePairList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSValuePairList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSValuePairList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCSSValueGradientStop_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCSSValueGradientStop > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCSSValueGradientStop > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCSSValueGradientStop > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCSSValueGradientStop > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_12 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_13 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_ProxyBehaviour_DefaultDelete_open1_ProxyBehaviour_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: ProxyBehaviour > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProxyBehaviour > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: ProxyBehaviour > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProxyBehaviour > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_ProxyBehaviour_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_ImageURL_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy_ImageURL > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy_ImageURL > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy_ImageURL > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy_ImageURL > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsILoadGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIEventTarget_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_CounterStyle_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: mozilla :: CounterStyle > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: CounterStyle > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: mozilla :: CounterStyle > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: CounterStyle > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleGradientStop_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleGradientStop > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleGradientStop > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleGradientStop > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleGradientStop > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: ImageValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: ImageValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageTracker_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMArray_open0_imgIContainer_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleSides > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleSides > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleSides > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleSides > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleSides_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleSides > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleSides > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleSides > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleSides > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleSides_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_CachedBorderImageData_DefaultDelete_open1_CachedBorderImageData_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: CachedBorderImageData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: CachedBorderImageData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: CachedBorderImageData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: CachedBorderImageData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_CachedBorderImageData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleSides > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleSides > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleSides > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleSides > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleSides_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_nsStyleImageLayers_Layer_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > > ( ) , 104usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nscolor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nscolor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nscolor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nscolor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nscolor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsBorderColors_DefaultDelete_open1_nsBorderColors_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsBorderColors > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBorderColors > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsBorderColors > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBorderColors > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsBorderColors_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_pair_open1_nsString_nsString_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_pair_open0_nsString_nsString_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ( ) , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleImageRequest_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleQuoteValues_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleQuoteValues > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleQuoteValues > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsTArray_open1_nsString_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCoord > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCoord > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCoord > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCoord > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCoord > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCoord > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCoord > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCoord > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_GridTemplateAreasValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSShadowArray_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_7 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_8 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCoord > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCoord > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCoord > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCoord > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_9 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_Position_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: Position > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: Position > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: Position > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: Position > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleTransition_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > > ( ) , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleAnimation_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > > ( ) , 56usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleContentData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleContentData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleContentData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleContentData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleContentData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCounterData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCounterData_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleImageRequest_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCursorImage_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCursorImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCursorImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCursorImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCursorImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCoord > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCoord > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCoord > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCoord > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_10 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleFilter_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleFilter > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleFilter > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleFilter > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleFilter > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSShadowArray_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_nsISupports_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: nsISupports > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: nsISupports > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: nsISupports > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: nsISupports > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsCSSValueList_DefaultDelete_open1_nsCSSValueList_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSValueList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSValueList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSValueList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSValueList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSValueList_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsCSSValuePairList_DefaultDelete_open1_nsCSSValuePairList_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSValuePairList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSValuePairList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSValuePairList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSValuePairList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSValuePairList_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoAnimationValue_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCString_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCString > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCString > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCString > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCString > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_14 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_15 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_16 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoStyleSheetContents_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoStyleSheetContents > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoStyleSheetContents > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoStyleSheetContents > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoStyleSheetContents > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoCSSRuleList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoCSSRuleList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoCSSRuleList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoCSSRuleList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoCSSRuleList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_StyleSheet_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_SheetLoadData_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_Loader_Sheets_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIConsoleReportCollector_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_BaseTimeDuration_open0_StickyTimeDurationValueCalculator_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: BaseTimeDuration > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: BaseTimeDuration ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: BaseTimeDuration > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: BaseTimeDuration ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoDeclarationBlock_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoDeclarationBlock > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoDeclarationBlock > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoDeclarationBlock > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoDeclarationBlock > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PropertyValuePair_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XBLChildrenElement_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_XBLChildrenElement_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XBLChildrenElement_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAnonymousContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAnonymousContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnonymousContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAnonymousContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnonymousContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsICSSDeclaration_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DeclarationBlock_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: DeclarationBlock > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: DeclarationBlock > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: DeclarationBlock > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: DeclarationBlock > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIControllers_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsLabelsNodeList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsLabelsNodeList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsLabelsNodeList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsLabelsNodeList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsLabelsNodeList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ShadowRoot_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_CustomElementData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: CustomElementData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: CustomElementData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: CustomElementData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: CustomElementData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsICSSDeclaration_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDOMAttributeMap_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDOMTokenList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMTokenList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMTokenList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMTokenList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMTokenList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDOMAttributeMap_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsDOMAttributeMap_Element_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIObserver_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsIWidget_LongTapInfo_DefaultDelete_open1_nsIWidget_LongTapInfo_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsIWidget_LongTapInfo > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIWidget_LongTapInfo > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsIWidget_LongTapInfo > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIWidget_LongTapInfo > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsIWidget_LongTapInfo_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsISMILAttr_DefaultDelete_open1_nsISMILAttr_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsISMILAttr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsISMILAttr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsISMILAttr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsISMILAttr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsISMILAttr_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ServoAttrSnapshot_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_Element_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_nsIContent_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: nsIContent > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: nsIContent > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: nsIContent > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: nsIContent > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_Element_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: Element > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: Element > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: Element > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: Element > ) ) ) ; } # [ test ] fn __bindgen_test_layout_OwningNonNull_open0_EffectCompositor_AnimationStyleRuleProcessor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoMediaList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoMediaList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoMediaList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoMediaList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoMediaList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_RawServoStyleSet_DefaultDelete_open1_RawServoStyleSet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoStyleSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoStyleSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoStyleSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoStyleSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoStyleSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_ServoStyleSheet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PostTraversalTask_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PostTraversalTask > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PostTraversalTask > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PostTraversalTask > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PostTraversalTask > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_ServoStyleRuleMap_DefaultDelete_open1_ServoStyleRuleMap_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: ServoStyleRuleMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: ServoStyleRuleMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: ServoStyleRuleMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: ServoStyleRuleMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_ServoStyleRuleMap_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsBindingManager_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsXBLBinding_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsRefPtrHashKey_open2_nsIContent_close2_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < u64 > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < u64 > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( u64 ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsIContent_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsIContent > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsIContent > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsIContent > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsIContent > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsBindingManager_WrapperHashtable_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsRefPtrHashtable_open1_nsURIHashKey_nsXBLDocumentInfo_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < u64 > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < u64 > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( u64 ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsInterfaceHashtable_open1_nsURIHashKey_nsIStreamListener_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < u64 > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < u64 > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( u64 ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsRunnableMethod_open1_nsBindingManager_void_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < u64 > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < u64 > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( u64 ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_11 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoDeclarationBlock_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoDeclarationBlock > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoDeclarationBlock > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoDeclarationBlock > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoDeclarationBlock > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_12 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSFontFaceRule_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSFontFaceRule > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSFontFaceRule > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSFontFaceRule > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSFontFaceRule > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_13 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIRunnable_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_14 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } } \ No newline at end of file +} # [ test ] fn bindgen_test_layout_nsMediaFeatures ( ) { assert_eq ! ( :: std :: mem :: size_of :: < nsMediaFeatures > ( ) , 1usize , concat ! ( "Size of: " , stringify ! ( nsMediaFeatures ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < nsMediaFeatures > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( nsMediaFeatures ) ) ) ; } impl Clone for nsMediaFeatures { fn clone ( & self ) -> Self { * self } } # [ test ] fn __bindgen_test_layout_nsTSubstring_open0_char16_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTSubstring < u16 > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTSubstring < u16 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTSubstring < u16 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTSubstring < u16 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTString_open0_char16_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ::nsstring::nsStringRepr > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( ::nsstring::nsStringRepr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ::nsstring::nsStringRepr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( ::nsstring::nsStringRepr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTSubstring_open0_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTSubstring < :: std :: os :: raw :: c_char > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTSubstring < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTSubstring < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTSubstring < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTString_open0_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTString < :: std :: os :: raw :: c_char > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTString < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTString < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTString < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_CSSVariableValues_Variable_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: CSSVariableValues_Variable > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_FontFamilyName_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: FontFamilyName > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: FontFamilyName > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: FontFamilyName > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: FontFamilyName > ) ) ) ; } # [ test ] fn __bindgen_test_layout_NotNull_open0_RefPtr_open1_SharedFontList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: NotNull < root :: RefPtr < root :: mozilla :: SharedFontList > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_SharedFontList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: SharedFontList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: SharedFontList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontFeatureValueSet_ValueList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeatureValueSet_ValueList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u32 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u32 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxAlternateValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxAlternateValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxAlternateValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxAlternateValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxAlternateValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_gfxFontFeatureValueSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontFeature_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontFeature > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeature > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontFeature > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontFeature > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_gfxFontVariation_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: gfxFontVariation > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontVariation > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: gfxFontVariation > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: gfxFontVariation > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_BaseTimeDuration_open0_TimeDurationValueCalculator_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: BaseTimeDuration > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: BaseTimeDuration ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: BaseTimeDuration > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: BaseTimeDuration ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_DeletePolicy_open1_JSErrorNotes_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_iterator_open0_input_iterator_tag_UniquePtr_open1_JSErrorNotes_Note_DeletePolicy_open2_JSErrorNotes_Note_close2_close1_long_ptr_UniquePtr_ref_UniquePtr_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: std :: iterator > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: std :: iterator ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: std :: iterator > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: std :: iterator ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes_Note > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_DeletePolicy_open1_JSErrorNotes_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: JSErrorNotes > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: JSErrorNotes > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: JS :: DeletePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: JS :: DeletePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_MediaList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: MediaList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: MediaList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: MediaList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: MediaList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_StyleSetHandle_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: StyleSetHandle > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: StyleSetHandle > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: StyleSetHandle > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: StyleSetHandle > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_ProfilerBacktrace_ProfilerBacktraceDestructor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProfilerBacktrace > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsNodeInfoManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsNodeInfoManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsNodeInfoManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsNodeInfoManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsNodeInfoManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsBindingManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAttrChildContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAttrChildContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAttrChildContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAttrChildContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAttrChildContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_LinkedList_open1_nsRange_close1_DefaultDelete_open1_LinkedList_open2_nsRange_close2_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_LinkedList_open1_nsRange_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_LinkedList_open1_nsRange_close1_DefaultDelete_open1_LinkedList_open2_nsRange_close2_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: LinkedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_LinkedList_open1_nsRange_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_NodeInfo_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: NodeInfo > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: NodeInfo > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: NodeInfo > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: NodeInfo > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ShadowRoot_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_HTMLSlotElement_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: HTMLSlotElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsIContent_nsExtendedContentSlots_DefaultDelete_open1_nsIContent_nsExtendedContentSlots_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsIContent_nsExtendedContentSlots > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIContent_nsExtendedContentSlots > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsIContent_nsExtendedContentSlots > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIContent_nsExtendedContentSlots > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsIContent_nsExtendedContentSlots_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIWeakReference_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_void_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut :: std :: os :: raw :: c_void > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut :: std :: os :: raw :: c_void > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut :: std :: os :: raw :: c_void > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut :: std :: os :: raw :: c_void > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsPtrHashKey_open0_void_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsPtrHashKey < :: std :: os :: raw :: c_void > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsPtrHashKey < :: std :: os :: raw :: c_void > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsPtrHashKey < :: std :: os :: raw :: c_void > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsPtrHashKey < :: std :: os :: raw :: c_void > ) ) ) ; } # [ test ] fn __bindgen_test_layout_StaticRefPtr_open0_nsIContent_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: StaticRefPtr < root :: nsIContent > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsIContent > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: StaticRefPtr < root :: nsIContent > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: nsIContent > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsPresContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsPresContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsPresContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsPresContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsPresContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsFrameSelection_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsFrameSelection > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsFrameSelection > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsFrameSelection > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsFrameSelection > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsITimer_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsPtrHashKey_open0_WeakFrame_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsPtrHashKey < root :: WeakFrame > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: WeakFrame > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsPtrHashKey < root :: WeakFrame > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: WeakFrame > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCString_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCString > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCString > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCString > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCString > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_EventTarget_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_EventTarget_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_Performance_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: Performance > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: Performance > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: Performance > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: Performance > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_TimeoutManager_DefaultDelete_open1_TimeoutManager_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: TimeoutManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_TimeoutManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowOuter_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_AudioContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: dom :: AudioContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowInner_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_EventTarget_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_EventTarget_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_Element_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocShell_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowOuter_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsBaseContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsBaseContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBaseContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsBaseContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBaseContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsIdentifierMapEntry_ChangeCallbackEntry_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < u64 > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < u64 > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( u64 ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsIdentifierMapEntry_Element_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsIdentifierMapEntry_Element > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsIdentifierMapEntry_Element > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsIdentifierMapEntry_Element > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsIdentifierMapEntry_Element > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_StyleSheet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheetList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: StyleSheetList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: StyleSheetList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: StyleSheetList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: StyleSheetList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoAnimationValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PropertyValuePair_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleAnimation_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > > ( ) , 56usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_RawServoSelectorList_DefaultDelete_open1_RawServoSelectorList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsCSSSelectorList_DefaultDelete_open1_nsCSSSelectorList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSSelectorList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsCSSSelectorList_DefaultDelete_open1_nsCSSSelectorList_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSSelectorList_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_RawServoSelectorList_DefaultDelete_open1_RawServoSelectorList_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoSelectorList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoSelectorList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIObserver_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsIDocument_SelectorCache_DefaultDelete_open1_nsIDocument_SelectorCache_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsIDocument_SelectorCache_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsIDocument_SelectorCache_DefaultDelete_open1_nsIDocument_SelectorCache_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIDocument_SelectorCache > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsIDocument_SelectorCache_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_7 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_8 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_9 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_NotNull_open0_ptr_const_nsIDocument__Encoding_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: NotNull < * const root :: nsIDocument_Encoding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_Loader_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: Loader > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: Loader > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: Loader > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: Loader > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageLoader_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: ImageLoader > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageLoader > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: ImageLoader > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageLoader > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsHTMLStyleSheet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsHTMLStyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLStyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsHTMLStyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLStyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsHTMLCSSStyleSheet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsHTMLCSSStyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLCSSStyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsHTMLCSSStyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsHTMLCSSStyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageTracker_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsPtrHashKey_open2_nsISupports_close2_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < u64 > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < u64 > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( u64 ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_Link_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsSMILAnimationController_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsSMILAnimationController > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsSMILAnimationController > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsSMILAnimationController > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsSMILAnimationController > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsAutoPtr_open1_nsPropertyTable_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsAutoPtr < root :: nsPropertyTable > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIHTMLCollection_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_FontFaceSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: FontFaceSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIScriptGlobalObject_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIChannel_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIChannel_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMArray_open0_nsINode_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsWeakPtr_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsWeakPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsWeakPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsWeakPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsWeakPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocumentEncoder_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsIDocument_FrameRequest_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsIDocument_FrameRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsIDocument_FrameRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsIDocument_FrameRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsIDocument_FrameRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIStructuredCloneContainer_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIVariant_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XPathEvaluator_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XPathEvaluator > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_AnonymousContent_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: AnonymousContent > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_LinkedList_open0_MediaQueryList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: LinkedList > ( ) , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: LinkedList ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: LinkedList > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: LinkedList ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCOMPtr_open1_nsIRunnable_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIRunnable_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCOMPtr_open1_nsIPrincipal_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCOMPtr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCOMPtr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_uint64_t_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < u64 > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < u64 > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < u64 > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < u64 > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsINode_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_LangGroupFontPrefs_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: LangGroupFontPrefs > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDeviceContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDeviceContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDeviceContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDeviceContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDeviceContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_EventStateManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: EventStateManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EventStateManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: EventStateManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EventStateManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsRefreshDriver_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsRefreshDriver > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsRefreshDriver > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsRefreshDriver > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsRefreshDriver > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_EffectCompositor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: EffectCompositor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EffectCompositor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: EffectCompositor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: EffectCompositor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsTransitionManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsTransitionManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsTransitionManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsTransitionManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsTransitionManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAnimationManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAnimationManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnimationManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAnimationManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnimationManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RestyleManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: RestyleManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: RestyleManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: RestyleManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: RestyleManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_CounterStyleManager_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: CounterStyleManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: CounterStyleManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: CounterStyleManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: CounterStyleManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_gfxFontFeatureValueSet_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: gfxFontFeatureValueSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: gfxFontFeatureValueSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsITheme_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrintSettings_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsITimer_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsBidi_DefaultDelete_open1_nsBidi_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsBidi > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBidi > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsBidi > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBidi > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsBidi_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsRect_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsRect > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsRect > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsRect > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsRect > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_gfxTextPerfMetrics_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: gfxTextPerfMetrics > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxTextPerfMetrics > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: gfxTextPerfMetrics > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxTextPerfMetrics > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_gfxMissingFontRecorder_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: gfxMissingFontRecorder > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxMissingFontRecorder > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: gfxMissingFontRecorder > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: gfxMissingFontRecorder > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_URLParams_Param_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: dom :: URLParams_Param > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_URLParams_DefaultDelete_open1_URLParams_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: dom :: URLParams > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_URLParams_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_10 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_11 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_const_char_FreePolicy_open1_const_char_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < :: std :: os :: raw :: c_char > ) ) ) ; } # [ test ] fn __bindgen_test_layout_FreePolicy_open0_const_char_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: detail :: FreePolicy > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: detail :: FreePolicy ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: detail :: FreePolicy > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: detail :: FreePolicy ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIEventTarget_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsMainThreadPtrHandle_open0_nsIURI_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsMainThreadPtrHandle < root :: nsIURI > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsMainThreadPtrHandle < root :: nsIURI > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsMainThreadPtrHandle < root :: nsIURI > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsMainThreadPtrHandle < root :: nsIURI > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsPtrHashKey_open0_nsIDocument_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsPtrHashKey < root :: nsIDocument > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: nsIDocument > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsPtrHashKey < root :: nsIDocument > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsPtrHashKey < root :: nsIDocument > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_GridNamedArea_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: css :: GridNamedArea > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: css :: GridNamedArea > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: css :: GridNamedArea > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: css :: GridNamedArea > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsCSSValueList_DefaultDelete_open1_nsCSSValueList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSValueList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSValueList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSValueList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSValueList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSValueList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsCSSValuePairList_DefaultDelete_open1_nsCSSValuePairList_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSValuePairList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSValuePairList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSValuePairList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSValuePairList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSValuePairList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCSSValueGradientStop_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCSSValueGradientStop > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCSSValueGradientStop > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCSSValueGradientStop > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCSSValueGradientStop > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_12 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_13 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_ProxyBehaviour_DefaultDelete_open1_ProxyBehaviour_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: ProxyBehaviour > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProxyBehaviour > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: ProxyBehaviour > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: ProxyBehaviour > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_ProxyBehaviour_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_ImageURL_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy_ImageURL > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy_ImageURL > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy_ImageURL > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy_ImageURL > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsILoadGroup_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: TabGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: TabGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIEventTarget_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_CounterStyle_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: mozilla :: CounterStyle > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: CounterStyle > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: mozilla :: CounterStyle > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: mozilla :: CounterStyle > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleGradientStop_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleGradientStop > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleGradientStop > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleGradientStop > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleGradientStop > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: imgRequestProxy > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: imgRequestProxy > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: ImageValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: ImageValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: ImageValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ImageTracker_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ImageTracker > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ImageTracker > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMArray_open0_imgIContainer_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMArray > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMArray ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleSides > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleSides > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleSides > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleSides > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleSides_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleSides > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleSides > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleSides > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleSides > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleSides_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_CachedBorderImageData_DefaultDelete_open1_CachedBorderImageData_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: CachedBorderImageData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: CachedBorderImageData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: CachedBorderImageData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: CachedBorderImageData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_CachedBorderImageData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleSides > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleSides > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleSides > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleSides > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleSides_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_nsStyleImageLayers_Layer_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > > ( ) , 104usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: nsStyleImageLayers_Layer > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nscolor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nscolor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nscolor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nscolor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nscolor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsBorderColors_DefaultDelete_open1_nsBorderColors_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsBorderColors > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBorderColors > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsBorderColors > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsBorderColors > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsBorderColors_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_pair_open1_nsString_nsString_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_pair_open0_nsString_nsString_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ( ) , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleImageRequest_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleQuoteValues_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleQuoteValues > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleQuoteValues > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleQuoteValues > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsTArray_open1_nsString_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsTArray < ::nsstring::nsStringRepr > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCoord > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCoord > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCoord > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCoord > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCoord > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCoord > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCoord > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCoord > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < ::nsstring::nsStringRepr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < ::nsstring::nsStringRepr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_GridTemplateAreasValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: GridTemplateAreasValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSShadowArray_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_7 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_8 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCoord > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCoord > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCoord > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCoord > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: StyleBasicShape > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_9 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_Position_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: Position > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: Position > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: Position > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: Position > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleTransition_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > > ( ) , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleTransition > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleAnimation_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > > ( ) , 56usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsStyleAutoArray < root :: mozilla :: StyleAnimation > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleContentData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleContentData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleContentData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleContentData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleContentData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCounterData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCounterData_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCounterData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCounterData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSValueSharedList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSValueSharedList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsStyleImageRequest_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsStyleImageRequest > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsStyleImageRequest > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCursorImage_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCursorImage > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCursorImage > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCursorImage > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCursorImage > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: css :: URLValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: css :: URLValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleCoord > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCoord > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleCoord > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleCoord > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_10 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsStyleFilter_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsStyleFilter > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleFilter > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsStyleFilter > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsStyleFilter > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSShadowArray_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSShadowArray > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSShadowArray > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_nsISupports_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: nsISupports > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: nsISupports > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: nsISupports > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: nsISupports > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsCSSValueList_DefaultDelete_open1_nsCSSValueList_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSValueList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSValueList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSValueList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSValueList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSValueList_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsCSSValuePairList_DefaultDelete_open1_nsCSSValuePairList_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsCSSValuePairList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSValuePairList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsCSSValuePairList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsCSSValuePairList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsCSSValuePairList_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoAnimationValue_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoAnimationValue > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoAnimationValue > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_nsCString_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: nsCString > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCString > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: nsCString > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: nsCString > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_14 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_15 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_16 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoStyleSheetContents_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoStyleSheetContents > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoStyleSheetContents > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoStyleSheetContents > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoStyleSheetContents > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: URLExtraData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: URLExtraData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoCSSRuleList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoCSSRuleList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoCSSRuleList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoCSSRuleList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoCSSRuleList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_StyleSheet_close1_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: StyleSheet > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_SheetLoadData_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: StyleSheet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: StyleSheet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_Loader_Sheets_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: mozilla :: css :: Loader_Sheets > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: DocGroup > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: DocGroup > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIConsoleReportCollector_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XBLChildrenElement_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_XBLChildrenElement_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_XBLChildrenElement_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: XBLChildrenElement > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAnonymousContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAnonymousContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnonymousContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAnonymousContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAnonymousContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsICSSDeclaration_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_DeclarationBlock_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: DeclarationBlock > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: DeclarationBlock > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: DeclarationBlock > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: DeclarationBlock > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIControllers_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsLabelsNodeList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsLabelsNodeList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsLabelsNodeList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsLabelsNodeList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsLabelsNodeList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ShadowRoot_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: ShadowRoot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_CustomElementData_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: CustomElementData > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: CustomElementData > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: CustomElementData > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: CustomElementData > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsICSSDeclaration_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDOMAttributeMap_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsContentList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsContentList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsContentList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsContentList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsContentList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDOMTokenList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMTokenList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMTokenList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMTokenList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMTokenList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsDOMAttributeMap_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsDOMAttributeMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsDOMAttributeMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsDOMAttributeMap_Element_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIObserver_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsIWidget_LongTapInfo_DefaultDelete_open1_nsIWidget_LongTapInfo_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsIWidget_LongTapInfo > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIWidget_LongTapInfo > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsIWidget_LongTapInfo > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsIWidget_LongTapInfo > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsIWidget_LongTapInfo_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsISMILAttr_DefaultDelete_open1_nsISMILAttr_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsISMILAttr > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsISMILAttr > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsISMILAttr > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsISMILAttr > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsISMILAttr_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_11 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsINode_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsINode > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsINode > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsINode > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsINode > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsINode_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsINode > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsINode > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsINode > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsINode > ) ) ) ; } # [ test ] fn __bindgen_test_layout_BaseTimeDuration_open0_StickyTimeDurationValueCalculator_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: BaseTimeDuration > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: BaseTimeDuration ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: BaseTimeDuration > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: BaseTimeDuration ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoDeclarationBlock_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoDeclarationBlock > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoDeclarationBlock > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoDeclarationBlock > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoDeclarationBlock > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PropertyValuePair_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PropertyValuePair > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PropertyValuePair > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ServoAttrSnapshot_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: ServoAttrSnapshot > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_Element_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: mozilla :: dom :: Element > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_ptr_nsIContent_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < * mut root :: nsIContent > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: nsIContent > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < * mut root :: nsIContent > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < * mut root :: nsIContent > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_Element_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: dom :: Element > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: Element > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: dom :: Element > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: dom :: Element > ) ) ) ; } # [ test ] fn __bindgen_test_layout_OwningNonNull_open0_EffectCompositor_AnimationStyleRuleProcessor_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: OwningNonNull < root :: mozilla :: EffectCompositor_AnimationStyleRuleProcessor > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: nsStyleGridTemplate > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoMediaList_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoMediaList > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoMediaList > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoMediaList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoMediaList > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_RawServoStyleSet_DefaultDelete_open1_RawServoStyleSet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: RawServoStyleSet > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoStyleSet > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: RawServoStyleSet > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: RawServoStyleSet > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_RawServoStyleSet_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_ServoStyleSheet_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: ServoStyleSheet > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_PostTraversalTask_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: mozilla :: PostTraversalTask > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PostTraversalTask > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: mozilla :: PostTraversalTask > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: mozilla :: PostTraversalTask > ) ) ) ; } # [ test ] fn __bindgen_test_layout_UniquePtr_open0_ServoStyleRuleMap_DefaultDelete_open1_ServoStyleRuleMap_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: ServoStyleRuleMap > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: ServoStyleRuleMap > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: UniquePtr < root :: mozilla :: ServoStyleRuleMap > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: UniquePtr < root :: mozilla :: ServoStyleRuleMap > ) ) ) ; } # [ test ] fn __bindgen_test_layout_DefaultDelete_open0_ServoStyleRuleMap_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: DefaultDelete > ( ) , 1usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: DefaultDelete ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsBindingManager_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsBindingManager > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsBindingManager > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsXBLBinding_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsXBLBinding > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsXBLBinding > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsXBLBinding > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsRefPtrHashKey_open2_nsIContent_close2_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < u64 > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < u64 > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( u64 ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsIContent_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsIContent > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsIContent > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsIContent > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsIContent > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsBindingManager_WrapperHashtable_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsAutoPtr < root :: nsBindingManager_WrapperHashtable > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsRefPtrHashtable_open1_nsURIHashKey_nsXBLDocumentInfo_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < u64 > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < u64 > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( u64 ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsAutoPtr_open0_nsInterfaceHashtable_open1_nsURIHashKey_nsIStreamListener_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < u64 > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < u64 > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( u64 ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsRunnableMethod_open1_nsBindingManager_void_close1_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < u64 > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < u64 > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( u64 ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_12 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: mozilla :: ServoStyleContext > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: mozilla :: ServoStyleContext > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_RawServoDeclarationBlock_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: RawServoDeclarationBlock > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoDeclarationBlock > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: RawServoDeclarationBlock > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: RawServoDeclarationBlock > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_13 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsCSSFontFaceRule_close0_instantiation ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsCSSFontFaceRule > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSFontFaceRule > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsCSSFontFaceRule > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsCSSFontFaceRule > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsRefPtrHashKey < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsRefPtrHashKey < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: nsAtom > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: nsAtom > > ) ) ) ; } # [ test ] fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_14 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: RefPtr < root :: nsAtom > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: RefPtr < root :: nsAtom > ) ) ) ; } # [ test ] fn __bindgen_test_layout_nsCOMPtr_open0_nsIRunnable_close0_instantiation_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < root :: nsCOMPtr > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsCOMPtr ) ) ) ; } } \ No newline at end of file