Derive ToCss for keyword structs

This commit is contained in:
Anthony Ramine 2017-06-17 03:00:39 +02:00
parent b0bc1d05a9
commit 3a2e79274a
2 changed files with 3 additions and 8 deletions

View file

@ -82,17 +82,11 @@ macro_rules! add_impls_for_keyword_enum {
macro_rules! define_keyword_type {
($name: ident, $css: expr) => {
#[derive(Clone, PartialEq, Copy)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
#[allow(missing_docs)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
#[derive(Clone, Copy, PartialEq, ToCss)]
pub struct $name;
impl ::style_traits::ToCss for $name {
fn to_css<W>(&self, dest: &mut W) -> ::std::fmt::Result where W: ::std::fmt::Write {
write!(dest, $css)
}
}
impl $crate::properties::animated_properties::Animatable for $name {
#[inline]
fn add_weighted(&self, _other: &Self, _self_progress: f64, _other_progress: f64)

View file

@ -142,6 +142,7 @@ fn where_predicate(ty: syn::Ty) -> syn::WherePredicate {
/// If the first Camel segment is "Moz"" or "Webkit", the result string
/// is prepended with "-".
fn to_css_identifier(mut camel_case: &str) -> String {
camel_case = camel_case.trim_right_matches('_');
let mut first = true;
let mut result = String::with_capacity(camel_case.len());
while let Some(segment) = split_camel_segment(&mut camel_case) {