Change style_traits to a single "servo" Cargo feature

... instead of fine-grained heap_size and serde-serialization ones.
This commit is contained in:
Simon Sapin 2016-06-22 13:36:14 +02:00
parent 00b6210519
commit 3822bb269c
7 changed files with 22 additions and 46 deletions

View file

@ -5,53 +5,33 @@
#[macro_export]
macro_rules! define_css_keyword_enum {
($name: ident: $( $css: expr => $variant: ident ),+,) => {
__define_css_keyword_enum__add_serde!($name [ $( $css => $variant ),+ ]);
__define_css_keyword_enum__add_optional_traits!($name [ $( $css => $variant ),+ ]);
};
($name: ident: $( $css: expr => $variant: ident ),+) => {
__define_css_keyword_enum__add_serde!($name [ $( $css => $variant ),+ ]);
__define_css_keyword_enum__add_optional_traits!($name [ $( $css => $variant ),+ ]);
};
}
#[cfg(feature = "serde-serialization")]
#[cfg(feature = "servo")]
#[macro_export]
macro_rules! __define_css_keyword_enum__add_serde {
macro_rules! __define_css_keyword_enum__add_optional_traits {
($name: ident [ $( $css: expr => $variant: ident ),+ ]) => {
__define_css_keyword_enum__add_heapsize! {
$name [ Deserialize, Serialize ] [ $( $css => $variant ),+ ]
__define_css_keyword_enum__actual! {
$name [ Deserialize, Serialize, HeapSizeOf ] [ $( $css => $variant ),+ ]
}
};
}
#[cfg(not(feature = "serde-serialization"))]
#[cfg(not(feature = "servo"))]
#[macro_export]
macro_rules! __define_css_keyword_enum__add_serde {
macro_rules! __define_css_keyword_enum__add_optional_traits {
($name: ident [ $( $css: expr => $variant: ident ),+ ]) => {
__define_css_keyword_enum__add_heapsize! {
__define_css_keyword_enum__actual! {
$name [] [ $( $css => $variant ),+ ]
}
};
}
#[cfg(feature = "heap_size")]
#[macro_export]
macro_rules! __define_css_keyword_enum__add_heapsize {
($name: ident [ $( $derived_trait: ident),* ] [ $( $css: expr => $variant: ident ),+ ]) => {
__define_css_keyword_enum__actual! {
$name [ $( $derived_trait, )* HeapSizeOf ] [ $( $css => $variant ),+ ]
}
};
}
#[cfg(not(feature = "heap_size"))]
#[macro_export]
macro_rules! __define_css_keyword_enum__add_heapsize {
($name: ident [ $( $derived_trait: ident),* ] [ $( $css: expr => $variant: ident ),+ ]) => {
__define_css_keyword_enum__actual! {
$name [ $( $derived_trait ),* ] [ $( $css => $variant ),+ ]
}
};
}
#[macro_export]
macro_rules! __define_css_keyword_enum__actual {
($name: ident [ $( $derived_trait: ident),* ] [ $( $css: expr => $variant: ident ),+ ]) => {