I was trying to install trunk for learning yew, but it keeps failing because lightningcss fails to compile:
error: could not compile `lightningcss` (lib) due to 61 previous errors
warning: build failed, waiting for other jobs to finish...
error: failed to compile `trunk v0.21.14`, intermediate artifacts can be found at `/tmp/cargo-installFkb0X9`.
A quick overlook of the type of error (they are all very similar) :
error[E0277]: `?` couldn't convert the error to `cssparser::ParseError<'_, error::ParserError<'_>>`
--> /home/v0lve/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/lightningcss-1.0.0-alpha.65/src/selector.rs:315:81
|
315 | ...or: Box::new(Selector::parse(self, arguments)?) },
| --------------------------------^ unsatisfied trait bound
| |
| this can't be annotated with `?` because it has type `Result<_, ParseError<'_, ParserError<'i>>>`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
help: the trait `From<cssparser::parser::ParseError<'_, error::ParserError<'_>>>` is not implemented for `cssparser::ParseError<'_, error::ParserError<'_>>`
but trait `From<BasicParseError<'_>>` is implemented for it
--> /home/v0lve/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cssparser-0.33.0/src/parser.rs:106:1
|
106 | impl<'i, T> From<BasicParseError<'i>> for ParseError<'i, T> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= help: for that trait implementation, expected `BasicParseError<'_>`, found `ParseError<'_, ParserError<'_>>`
= note: there are multiple different versions of crate `cssparser` in the dependency graph
= help: you can use `cargo tree` to explore your dependency tree
= note: the full name for the type has been written to '/tmp/cargo-installFkb0X9/release/deps/lightningcss-261aa2770892acbc.long-type-11430316997037836.txt'
= note: consider using `--verbose` to print the full type name to the console
and
error[E0308]: mismatched types
--> /home/v0lve/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/lightningcss-1.0.0-alpha.65/src/selector.rs:2239:5
|
2238 | ) -> Result<Self, ParseError<'i, ParserError<'i>>> {
| --------------------------------------------- expected `Result<SelectorList<'i, Selectors>, ...>` because of return type
2239 | / SelectorList::parse(
2240 | | &SelectorParser {
2241 | | is_nesting_allowed: true,
2242 | | options: &options,
... |
2246 | | parcel_selectors::parser::NestingRequirement::None,
2247 | | )
| |_____^ expected `ParseError<'i, ParserError<'i>>`, found `ParseError<'_, ParserError<'i>>`
|
note: there are multiple different versions of crate `cssparser` in the dependency graph
--> /home/v0lve/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cssparser-0.33.0/src/parser.rs:178:1
|
178 | pub struct ParseError<'i, E> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type
|
::: /home/v0lve/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cssparser-0.37.0/src/parser.rs:190:1
|
190 | pub struct ParseError<'i, E> {
| ---------------------------- this is the found type
= help: you can use `cargo tree` to explore your dependency tree
= note: the full name for the type has been written to '/tmp/cargo-installFkb0X9/release/deps/lightningcss-261aa2770892acbc.long-type-10745493359428875948.txt'
= note: consider using `--verbose` to print the full type name to the console
They are all similar kinds of wrong types in generics, and I've no clue what I could do to fix it. Anyone else have this issue, is the lib just broken?
Thanks in advance