#rust #rust-cargo
Вопрос:
Я пытаюсь использовать ящик google-somethin = "0.1.4"
, вот мой груз.томл
[package] name = "test_json" version = "0.1.0" edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] google-somethin = "0.1.4" openssl = { version = "0.10", features = ["vendored"] }
При попытке сборки у меня возникает следующая ошибка
cannot assign to `self.input.cached_token` because it is borrowed --gt; /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/cssparser-0.24.1/src/parser.rs:572:17 | 547 | pub fn next_including_whitespace_and_comments(amp;mut self) -gt; Resultlt;amp;Tokenlt;'igt;, BasicParseErrorlt;'igt;gt; { | - let's call the lifetime of this reference `'1` ... 560 | Some(ref cached_token) | ---------------- borrow of `self.input.cached_token` occurs here ... 572 | self.input.cached_token = Some(CachedToken { | ^^^^^^^^^^^^^^^^^^^^^^^ assignment to borrowed `self.input.cached_token` occurs here ... 584 | Ok(token) | --------- returning this value requires that `self.input.cached_token.0` is borrowed for `'1` error: aborting due to previous error For more information about this error, try `rustc --explain E0506`. error: could not compile `cssparser` To learn more, run the command again with --verbose.
У меня есть эта ошибка, когда Compiling cssparser v0.24.1
Комментарии:
1. Какова ваша версия rustc? Возможно, у вас была версия до того, как время жизни было каким-то образом смягчено, чтобы позволить этому коду компилироваться.
2. Спасибо за ответ , моя версия-rustup 1.24.3 (ce5817a94 2021-05-31)
3.Я могу воссоздать эту ошибку с
rustc 1.57.0-nightly (5b210643e 2021-10-11)
помощью . Ноcssparser
0.24.1
это не последняя версия. Он втягиваетсяscraper
0.8.2
, что также не является последней версией, но , в свою очередь, он втягиваетсяgoogle-somethin
0.1.4
, что является последней версией. Я думаю, что еслиgoogle-somethin
бы обновили ихscraper
зависимость, это было бы исправлено, хотя я не уверен, почему она даже не работает в старой версии библиотеки, интересно, происходит ли это с предыдущими версиями компилятора или это недавняя регрессия?4. Еще раз спасибо , теперь я понимаю причину проблемы , есть ли какое-либо решение для обновления зависимости от скребка, чтобы я мог использовать google-что-то?
5. Я не верю в это,
google-somethin
используетscraper = ^0.8.1
, что , я думаю, ограничивает его максимум0.8.*
, ниже0.12
последней версии. Вам придется раскошелитьсяgoogle-somethin
, чтобы изменить его зависимости и исправить любые последствия обновлений.