Since #960 crates that use symbolic v12 with goblin v0.8 no longer compile.
One affected signature is https://docs.rs/symbolic/12.17.3/symbolic/debuginfo/pe/struct.PeObject.html#method.exception_data, which is a function in symbolic-debuginfo that returns a type from goblin. The type being returned is different between symbolic 12.17.2 and 12.17.3.
One broken crate is https://crates.io/crates/dump-syms. Today if you compile [dependencies] dump_syms = "2.3.7" with the most recent dependencies chosen by cargo update, it fails like this:
error[E0308]: mismatched types
--> $CARGO_HOME/registry/src/index.crates.io-1949cf8c6b5b557f/dump_syms-2.3.7/src/object_info.rs:143:21
|
142 | collector.collect_placeholder_functions(
| ----------------------------- arguments to this method are incorrect
143 | exception_data,
| ^^^^^^^^^^^^^^ expected `goblin::pe::exception::ExceptionData<'_>`, found `ExceptionData<'_>`
|
note: there are multiple different versions of crate `goblin` in the dependency graph
--> $CARGO_HOME/registry/src/index.crates.io-1949cf8c6b5b557f/goblin-0.8.2/src/pe/exception.rs:656:1
|
656 | pub struct ExceptionData<'a> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type
|
::: $CARGO_HOME/registry/src/index.crates.io-1949cf8c6b5b557f/goblin-0.10.5/src/pe/exception.rs:796:1
|
796 | pub struct ExceptionData<'a> {
| ---------------------------- this is the found type
= help: you can use `cargo tree` to explore your dependency tree
note: method defined here
--> $CARGO_HOME/registry/src/index.crates.io-1949cf8c6b5b557f/dump_syms-2.3.7/src/collector.rs:426:12
|
426 | pub fn collect_placeholder_functions(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
427 | &mut self,
428 | exception_data: &ExceptionData,
| ------------------------------
The same crate works if you downgrade symoblic-debuginfo from 12.17.3 to 12.17.2 using the following sequence of commands.
cargo update --package=symbolic --precise=12.17.2
cargo update --package=symbolic-cfi --precise=12.17.2
cargo update --package=symbolic-debuginfo --precise=12.17.2
Since #960 crates that use symbolic v12 with goblin v0.8 no longer compile.
One affected signature is https://docs.rs/symbolic/12.17.3/symbolic/debuginfo/pe/struct.PeObject.html#method.exception_data, which is a function in
symbolic-debuginfothat returns a type fromgoblin. The type being returned is different between symbolic 12.17.2 and 12.17.3.One broken crate is https://crates.io/crates/dump-syms. Today if you compile
[dependencies] dump_syms = "2.3.7"with the most recent dependencies chosen bycargo update, it fails like this:The same crate works if you downgrade
symoblic-debuginfofrom 12.17.3 to 12.17.2 using the following sequence of commands.cargo update --package=symbolic --precise=12.17.2cargo update --package=symbolic-cfi --precise=12.17.2cargo update --package=symbolic-debuginfo --precise=12.17.2