diff --git a/components/style/values/computed/mod.rs b/components/style/values/computed/mod.rs index ff16e328826..ab962c055c1 100644 --- a/components/style/values/computed/mod.rs +++ b/components/style/values/computed/mod.rs @@ -293,8 +293,7 @@ impl<'a, 'cx, 'cx_a: 'cx, S: ToComputedValue + 'a> Iterator for ComputedVecIter< /// /// This trait is derivable with `#[derive(ToComputedValue)]`. The derived /// implementation just calls `ToComputedValue::to_computed_value` on each field -/// of the passed value, or `Clone::clone` if the field is annotated with -/// `#[compute(clone)]`. The deriving code assumes that if the type isn't +/// of the passed value. The deriving code assumes that if the type isn't /// generic, then the trait can be implemented as simple `Clone::clone` calls, /// this means that a manual implementation with `ComputedValue = Self` is bogus /// if it returns anything else than a clone. diff --git a/components/style/values/computed/percentage.rs b/components/style/values/computed/percentage.rs index 842019f03c8..4992151a1b8 100644 --- a/components/style/values/computed/percentage.rs +++ b/components/style/values/computed/percentage.rs @@ -11,7 +11,7 @@ use values::{CSSFloat, serialize_percentage}; /// A computed percentage. #[cfg_attr(feature = "servo", derive(Deserialize, Serialize))] #[derive(Animate, Clone, ComputeSquaredDistance, Copy, Debug, Default, MallocSizeOf)] -#[derive(PartialEq, PartialOrd, ToAnimatedZero)] +#[derive(PartialEq, PartialOrd, ToAnimatedZero, ToComputedValue)] pub struct Percentage(pub CSSFloat); impl Percentage { diff --git a/components/style/values/generics/grid.rs b/components/style/values/generics/grid.rs index cc3256df7ab..3d8005fc62d 100644 --- a/components/style/values/generics/grid.rs +++ b/components/style/values/generics/grid.rs @@ -388,7 +388,6 @@ pub struct TrackRepeat { /// If there's no ``, then it's represented by an empty vector. /// For N `` values, there will be N+1 ``, and so this vector's /// length is always one value more than that of the ``. - #[compute(clone)] pub line_names: Box<[Box<[CustomIdent]>]>, /// `` values. pub track_sizes: Vec>, diff --git a/components/style/values/generics/image.rs b/components/style/values/generics/image.rs index 7f02fdec4f4..ca041d5ed9d 100644 --- a/components/style/values/generics/image.rs +++ b/components/style/values/generics/image.rs @@ -42,10 +42,8 @@ pub struct Gradient>, /// True if this is a repeating gradient. - #[compute(clone)] pub repeating: bool, /// Compatibility mode. - #[compute(clone)] pub compat_mode: CompatMode, } diff --git a/components/style/values/generics/transform.rs b/components/style/values/generics/transform.rs index 1d96c9e9d84..be863d1e005 100644 --- a/components/style/values/generics/transform.rs +++ b/components/style/values/generics/transform.rs @@ -267,7 +267,6 @@ pub enum TransformOperation LengthOrPercentage, >, >, - #[compute(clone)] progress: computed::Percentage, }, /// A intermediate type for accumulation of mismatched transform lists. diff --git a/components/style_derive/to_computed_value.rs b/components/style_derive/to_computed_value.rs index 1a64faa480d..8ef05f8ecff 100644 --- a/components/style_derive/to_computed_value.rs +++ b/components/style_derive/to_computed_value.rs @@ -38,25 +38,11 @@ pub fn derive(input: DeriveInput) -> Tokens { let to_body = cg::fmap_match(&input, BindStyle::Ref, |binding| { let attrs = cg::parse_field_attrs::(&binding.ast()); - if attrs.clone { - if cg::is_parameterized(&binding.ast().ty, &where_clause.params, None) { - cg::add_predicate( - &mut where_clause.inner, - cg::where_predicate( - binding.ast().ty.clone(), - &parse_quote!(std::clone::Clone), - None, - ), - ); - } - quote! { ::std::clone::Clone::clone(#binding) } - } else { - if !attrs.ignore_bound { - where_clause.add_trait_bound(&binding.ast().ty); - } - quote! { - ::values::computed::ToComputedValue::to_computed_value(#binding, context) - } + if !attrs.ignore_bound { + where_clause.add_trait_bound(&binding.ast().ty); + } + quote! { + ::values::computed::ToComputedValue::to_computed_value(#binding, context) } }); let from_body = cg::fmap_match(&input, BindStyle::Ref, |binding| { @@ -95,6 +81,5 @@ pub fn derive(input: DeriveInput) -> Tokens { #[darling(attributes(compute), default)] #[derive(Default, FromField)] struct ComputedValueAttrs { - clone: bool, ignore_bound: bool, }