hove-io / transit_model

Managing transit data with Rust
GNU Affero General Public License v3.0
55 stars 28 forks source link

Dependency minidom 0.12 #898

Open ctriley opened 1 year ago

ctriley commented 1 year ago

The package minidom needs to be updated, as it imports quick-xml 0.17.2 which contains code which will be rejected in a future version of rust.

cargo report future-incompatibilities The following warnings were discovered during the build. These warnings are an indication that the packages contain code that will become an error in a future release of Rust. These warnings typically cover changes to close soundness problems, unintended or undocumented behavior, or critical problems that cannot be fixed in a backwards-compatible fashion, and are not expected to be in wide use.

Each warning should contain a link for more information on what the warning means and how to resolve it.

To solve this problem, you can try the following approaches:

quick-xml v0.17.2 has the following newer versions available: 0.18.0, 0.18.1, 0.19.0, 0.20.0, 0.21.0, 0.22.0, 0.23.0-alpha1, 0.23.0-alpha2, 0.23.0-alpha3, 0.23.1, 0.24.1, 0.25.0, 0.26.0, 0.27.0, 0.27.1, 0.28.0, 0.28.1, 0.28.2

The package quick-xml v0.17.2 currently triggers the following future incompatibility lints:

warning: trailing semicolon in macro used in expression position --> /Users/connorriley/.cargo/registry/src/github.com-1ecc6299db9ec823/quick-xml-0.17.2/src/events/attributes.rs:209:20 209 })); ^ ... 226 None => attr!(self.position..len), ------------------------- in this macro invocation
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
= note: macro invocations at the end of a block are treated as expressions
= note: to ignore the value produced by the macro, add a semicolon after the invocation of `attr`
= note: `#[allow(semicolon_in_expressions_from_macros)]` on by default
= note: this warning originates in the macro `attr` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: trailing semicolon in macro used in expression position --> /Users/connorriley/.cargo/registry/src/github.com-1ecc6299db9ec823/quick-xml-0.17.2/src/events/attributes.rs:209:20 209 })); ^ ... 254 None => attr!(start_key..len), --------------------- in this macro invocation
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
= note: macro invocations at the end of a block are treated as expressions
= note: to ignore the value produced by the macro, add a semicolon after the invocation of `attr`
= note: `#[allow(semicolon_in_expressions_from_macros)]` on by default
= note: this warning originates in the macro `attr` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: trailing semicolon in macro used in expression position --> /Users/connorriley/.cargo/registry/src/github.com-1ecc6299db9ec823/quick-xml-0.17.2/src/events/attributes.rs:209:20 209 })); ^ ... 276 attr!(start_key..end_key, i + 1..j) ----------------------------------- in this macro invocation
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
= note: macro invocations at the end of a block are treated as expressions
= note: to ignore the value produced by the macro, add a semicolon after the invocation of `attr`
= note: `#[allow(semicolon_in_expressions_from_macros)]` on by default
= note: this warning originates in the macro `attr` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: trailing semicolon in macro used in expression position --> /Users/connorriley/.cargo/registry/src/github.com-1ecc6299db9ec823/quick-xml-0.17.2/src/events/attributes.rs:209:20 209 })); ^ ... 287 attr!(start_key..end_key, i..j) ------------------------------- in this macro invocation
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
= note: macro invocations at the end of a block are treated as expressions
= note: to ignore the value produced by the macro, add a semicolon after the invocation of `attr`
= note: `#[allow(semicolon_in_expressions_from_macros)]` on by default
= note: this warning originates in the macro `attr` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: trailing semicolon in macro used in expression position --> /Users/connorriley/.cargo/registry/src/github.com-1ecc6299db9ec823/quick-xml-0.17.2/src/events/attributes.rs:209:20 209 })); ^ ... 290 None => attr!(start_key..end_key), ------------------------- in this macro invocation
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
= note: macro invocations at the end of a block are treated as expressions
= note: to ignore the value produced by the macro, add a semicolon after the invocation of `attr`
= note: `#[allow(semicolon_in_expressions_from_macros)]` on by default
= note: this warning originates in the macro `attr` (in Nightly builds, run with -Z macro-backtrace for more info)
woshilapin commented 1 year ago

Hi @ctriley. Yes, we're aware of the problem... but it's not a simple one. The reason is that minidom is actually a library for a subset of XML (XMPP) and with version 0.13.0, they started to not parse certain parts (see https://github.com/hove-io/transit_model/pull/746 for more details). So moving forward probably means removing entirely minidom and use another library (probably quick-xml directly). But that's not a trivial work and we don't really have the time at the moment.