]> git.pld-linux.org Git - packages/thunderbird.git/blame - rust-1.33.patch
patch to fix build with rust >= 1.33 (copied from firefox60-esr)
[packages/thunderbird.git] / rust-1.33.patch
CommitLineData
29805339
JP
1
2# HG changeset patch
3# User Simon Sapin <simon.sapin@exyr.org>
4# Date 1547211748 -3600
5# Node ID 4f2e84dc490dbbac2a35799b6b9230c105f2cd35
6# Parent 07acdca43a9b5e69f0f01d74dab7f6d2e6ef30f2
7Bug 1519729 - Remove unused macro. r=emilio
8
9Cherry-picks a commit from https://github.com/servo/servo/pull/22674
10
11
12diff --git a/servo/components/style_traits/values.rs b/servo/components/style_traits/values.rs
13--- a/servo/components/style_traits/values.rs
14+++ b/servo/components/style_traits/values.rs
15@@ -153,34 +153,16 @@ where
16 if !prefix.is_empty() {
17 self.inner.write_str(prefix)?;
18 }
19 }
20 self.inner.write_char(c)
21 }
22 }
23
24-#[macro_export]
25-macro_rules! serialize_function {
26- ($dest: expr, $name: ident($( $arg: expr, )+)) => {
27- serialize_function!($dest, $name($($arg),+))
28- };
29- ($dest: expr, $name: ident($first_arg: expr $( , $arg: expr )*)) => {
30- {
31- $dest.write_str(concat!(stringify!($name), "("))?;
32- $first_arg.to_css($dest)?;
33- $(
34- $dest.write_str(", ")?;
35- $arg.to_css($dest)?;
36- )*
37- $dest.write_char(')')
38- }
39- }
40-}
41-
42 /// Convenience wrapper to serialise CSS values separated by a given string.
43 pub struct SequenceWriter<'a, 'b: 'a, W: 'b> {
44 inner: &'a mut CssWriter<'b, W>,
45 separator: &'static str,
46 }
47
48 impl<'a, 'b, W> SequenceWriter<'a, 'b, W>
49 where
50
51
52# HG changeset patch
53# User Simon Sapin <simon.sapin@exyr.org>
54# Date 1547211824 -3600
55# Node ID f63ebd7e9e281f22e71c268151337178de2c246a
56# Parent 4f2e84dc490dbbac2a35799b6b9230c105f2cd35
57Bug 1519729 - Document public macros. r=emilio
58
59Undocumented public macros emit warnings in nightly-2019-01-11,
60and we #![deny] that warning.
61
62Cherry-picks a commit from https://github.com/servo/servo/pull/22674
63
64
65diff --git a/servo/components/style/properties/properties.mako.rs b/servo/components/style/properties/properties.mako.rs
66--- a/servo/components/style/properties/properties.mako.rs
67+++ b/servo/components/style/properties/properties.mako.rs
68@@ -3816,17 +3816,24 @@ impl AliasId {
69 % for property in data.all_aliases():
70 AliasId::${property.camel_case} => "${property.camel_case}",
71 % endfor
72 };
73 formatter.write_str(name)
74 }
75 }
76
77-// NOTE(emilio): Callers are responsible to deal with prefs.
78+/// Call the given macro with tokens like this for each longhand and shorthand properties
79+/// that is enabled in content:
80+///
81+/// ```
82+/// [CamelCaseName, SetCamelCaseName, PropertyId::Longhand(LonghandId::CamelCaseName)],
83+/// ```
84+///
85+/// NOTE(emilio): Callers are responsible to deal with prefs.
86 #[macro_export]
87 macro_rules! css_properties_accessors {
88 ($macro_name: ident) => {
89 $macro_name! {
90 % for kind, props in [("Longhand", data.longhands), ("Shorthand", data.shorthands)]:
91 % for property in props:
92 % if property.enabled_in_content():
93 % for name in [property.name] + property.alias:
94@@ -3839,16 +3846,24 @@ macro_rules! css_properties_accessors {
95 % endfor
96 % endif
97 % endfor
98 % endfor
99 }
100 }
101 }
102
103+/// Call the given macro with tokens like this for each longhand properties:
104+///
105+/// ```
106+/// { snake_case_ident, true }
107+/// ```
108+///
109+/// … where the boolean indicates whether the property value type
110+/// is wrapped in a `Box<_>` in the corresponding `PropertyDeclaration` variant.
111 #[macro_export]
112 macro_rules! longhand_properties_idents {
113 ($macro_name: ident) => {
114 $macro_name! {
115 % for property in data.longhands:
116 { ${property.ident}, ${"true" if property.boxed else "false"} }
117 % endfor
118 }
119diff --git a/servo/components/style_traits/values.rs b/servo/components/style_traits/values.rs
120--- a/servo/components/style_traits/values.rs
121+++ b/servo/components/style_traits/values.rs
122@@ -427,17 +427,17 @@ impl_to_css_for_predefined_type!(i8);
123 impl_to_css_for_predefined_type!(i32);
124 impl_to_css_for_predefined_type!(u16);
125 impl_to_css_for_predefined_type!(u32);
126 impl_to_css_for_predefined_type!(::cssparser::Token<'a>);
127 impl_to_css_for_predefined_type!(::cssparser::RGBA);
128 impl_to_css_for_predefined_type!(::cssparser::Color);
129 impl_to_css_for_predefined_type!(::cssparser::UnicodeRange);
130
131-#[macro_export]
132+/// Define an enum type with unit variants that each corrsepond to a CSS keyword.
133 macro_rules! define_css_keyword_enum {
134 (pub enum $name:ident { $($variant:ident = $css:expr,)+ }) => {
135 #[allow(missing_docs)]
136 #[cfg_attr(feature = "servo", derive(Deserialize, Serialize))]
137 #[derive(Clone, Copy, Debug, Eq, Hash, MallocSizeOf, PartialEq)]
138 pub enum $name {
139 $($variant),+
140 }
141
142
143# HG changeset patch
144# User Emilio Cobos Álvarez <emilio@crisal.io>
145# Date 1547412158 -3600
146# Node ID 1a1d8b9f1a3ab704ab277407823f6f42dd63a3d4
147# Parent a2f691714d70fa6a9119503270809fa0eb8df6c6
148Bug 1519629 - Document a few more macros.
149
150
151diff --git a/servo/components/style/gecko/regen_atoms.py b/servo/components/style/gecko/regen_atoms.py
152--- a/servo/components/style/gecko/regen_atoms.py
153+++ b/servo/components/style/gecko/regen_atoms.py
154@@ -125,16 +125,17 @@ PRELUDE = '''
155 RULE_TEMPLATE = ('("{atom}") =>\n '
156 '{{{{ '
157 '#[allow(unsafe_code)] #[allow(unused_unsafe)]'
158 'unsafe {{ $crate::string_cache::atom_macro::atom_from_static'
159 '($crate::string_cache::atom_macro::{name} as *mut _) }}'
160 ' }}}};')
161
162 MACRO = '''
163+/// Returns a static atom by passing the literal string it represents.
164 #[macro_export]
165 macro_rules! atom {{
166 {}
167 }}
168 '''
169
170
171 def write_atom_macro(atoms, file_name):
172diff --git a/servo/components/style/gecko_string_cache/namespace.rs b/servo/components/style/gecko_string_cache/namespace.rs
173--- a/servo/components/style/gecko_string_cache/namespace.rs
174+++ b/servo/components/style/gecko_string_cache/namespace.rs
175@@ -6,16 +6,18 @@
176
177 use gecko_bindings::structs::nsAtom;
178 use precomputed_hash::PrecomputedHash;
179 use std::borrow::Borrow;
180 use std::fmt;
181 use std::ops::Deref;
182 use string_cache::{Atom, WeakAtom};
183
184+/// In Gecko namespaces are just regular atoms, so this is a simple macro to
185+/// forward one macro to the other.
186 #[macro_export]
187 macro_rules! ns {
188 () => { $crate::string_cache::Namespace(atom!("")) };
189 ($s: tt) => { $crate::string_cache::Namespace(atom!($s)) };
190 }
191
192 /// A Gecko namespace is just a wrapped atom.
193 #[derive(Clone, Debug, Default, Eq, Hash, MallocSizeOf, PartialEq)]
194--- firefox-60.6.1/servo/components/style/properties/properties.mako.rs.orig 2019-03-22 06:01:07.000000000 +0100
195+++ firefox-60.6.1/servo/components/style/properties/properties.mako.rs 2019-04-14 12:19:55.687706977 +0200
196@@ -55,6 +55,7 @@
197
198 pub use self::declaration_block::*;
199
200+/// doc stub
201 #[cfg(feature = "gecko")]
202 #[macro_export]
203 macro_rules! property_name {
This page took 0.144417 seconds and 4 git commands to generate.