diff options
| author | Joseph Benden <joe@benden.us> | 2019-10-17 02:53:37 +0000 |
|---|---|---|
| committer | Rasmus Thomsen <oss@cogitri.dev> | 2019-10-20 19:08:28 +0200 |
| commit | 1549a700cf7c1e412f292868be23d506f62eec3b (patch) | |
| tree | 2febc97d028aba29c208317b58133714b5433f21 /testing/thunderbird/rust-cssparser.patch | |
| parent | 48c4334e08aedbe7dbeb1fb316a4c9fcb68149b3 (diff) | |
| download | aports-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.patch | 92 |
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); |
