aboutsummaryrefslogtreecommitdiffstats
path: root/testing/thunderbird/rust-cssparser.patch
diff options
context:
space:
mode:
authorJoseph Benden <joe@benden.us>2019-10-17 02:53:37 +0000
committerRasmus Thomsen <oss@cogitri.dev>2019-10-20 19:08:28 +0200
commit1549a700cf7c1e412f292868be23d506f62eec3b (patch)
tree2febc97d028aba29c208317b58133714b5433f21 /testing/thunderbird/rust-cssparser.patch
parent48c4334e08aedbe7dbeb1fb316a4c9fcb68149b3 (diff)
downloadaports-1549a700cf7c1e412f292868be23d506f62eec3b.tar.bz2
aports-1549a700cf7c1e412f292868be23d506f62eec3b.tar.xz
testing/thunderbird: update to 60.9.0
This patch upgrades the version of Thunderbird to 60.9.0. Signed-off-by: Joseph Benden <joe@benden.us>
Diffstat (limited to 'testing/thunderbird/rust-cssparser.patch')
-rw-r--r--testing/thunderbird/rust-cssparser.patch92
1 files changed, 92 insertions, 0 deletions
diff --git a/testing/thunderbird/rust-cssparser.patch b/testing/thunderbird/rust-cssparser.patch
new file mode 100644
index 0000000000..1fc1805234
--- /dev/null
+++ b/testing/thunderbird/rust-cssparser.patch
@@ -0,0 +1,92 @@
+This is a fix for rust version 1.38.0, which causes the warning below to become an error.
+
+backport of:
+
+From 3c98d22c5de3b696bf1fde2b6c90069812312aa6 Mon Sep 17 00:00:00 2001
+From: Simon Sapin <simon.sapin@exyr.org>
+Date: Tue, 23 Apr 2019 13:47:25 +0200
+Subject: [PATCH] Fix a future-compat warning
+
+```
+warning[E0506]: cannot assign to `self.input.cached_token` because it is borrowed
+ --> src/parser.rs:591:17
+ |
+566 | pub fn next_including_whitespace_and_comments(&mut self) -> Result<&Token<'i>, BasicParseError<'i>> {
+ | - let's call the lifetime of this reference `'1`
+...
+579 | Some(ref cached_token)
+ | ---------------- borrow of `self.input.cached_token` occurs here
+...
+591 | self.input.cached_token = Some(CachedToken {
+ | ^^^^^^^^^^^^^^^^^^^^^^^ assignment to borrowed `self.input.cached_token` occurs here
+...
+603 | Ok(token)
+ | --------- returning this value requires that `self.input.cached_token.0` is borrowed for `'1`
+ |
+ = warning: this error has been downgraded to a warning for backwards compatibility with previous releases
+ = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future
+```
+---
+ src/parser.rs | 50 +++++++++++++++++++++++++++-----------------------
+ 1 file changed, 27 insertions(+), 23 deletions(-)
+
+diff --git a/src/parser.rs b/src/parser.rs
+index 51f441e4..7cef117c 100644
+--- a/third_party/rust/cssparser/src/parser.rs
++++ b/third_party/rust/cssparser/src/parser.rs
+@@ -555,28 +555,34 @@
+ }
+
+ let token_start_position = self.input.tokenizer.position();
+- let token;
+- match self.input.cached_token {
+- Some(ref cached_token)
+- if cached_token.start_position == token_start_position => {
+- self.input.tokenizer.reset(&cached_token.end_state);
+- match cached_token.token {
+- Token::Function(ref name) => self.input.tokenizer.see_function(name),
+- _ => {}
+- }
+- token = &cached_token.token
++ let using_cached_token = self
++ .input
++ .cached_token
++ .as_ref()
++ .map_or(false, |cached_token| {
++ cached_token.start_position == token_start_position
++ });
++ let token = if using_cached_token {
++ let cached_token = self.input.cached_token.as_ref().unwrap();
++ self.input.tokenizer.reset(&cached_token.end_state);
++ match cached_token.token {
++ Token::Function(ref name) => self.input.tokenizer.see_function(name),
++ _ => {}
+ }
+- _ => {
+- let new_token = self.input.tokenizer.next()
+- .map_err(|()| self.new_basic_error(BasicParseErrorKind::EndOfInput))?;
+- self.input.cached_token = Some(CachedToken {
+- token: new_token,
+- start_position: token_start_position,
+- end_state: self.input.tokenizer.state(),
+- });
+- token = self.input.cached_token_ref()
+- }
+- }
++ &cached_token.token
++ } else {
++ let new_token = self
++ .input
++ .tokenizer
++ .next()
++ .map_err(|()| self.new_basic_error(BasicParseErrorKind::EndOfInput))?;
++ self.input.cached_token = Some(CachedToken {
++ token: new_token,
++ start_position: token_start_position,
++ end_state: self.input.tokenizer.state(),
++ });
++ self.input.cached_token_ref()
++ };
+
+ if let Some(block_type) = BlockType::opening(token) {
+ self.at_start_of = Some(block_type);