Closed sga001 closed 6 years ago
Hrm. unsafe_abomonate
did change in that the trait changed (so it synthesizes new methods). But ...
Usually when I see this error, it translates to "you are using two versions of the crate, and while you implement the trait from one, I wanted the trait from the other". Is it possible that this is going on? Usually a cargo update
will fix that (perhaps with a few cargo clean
just to be sure).
Though, if you are using timely from crates.io it should still target Abom 0.4. and will not be 0.5. compatible until we drop a new timely release on crates; if you are using timely from github master, it should be pointing at github abom master; neither of these are crates 0.5, and so it may be that is where the tangle is (until timely gets a crates.io bump, or we pivot timely gh to point at crates, there is no use for abom 0.5 yet). This is all blocked on a new drop of abomonate_derive
coming out, which we don't own (owner thinks early this week). Ideally nothing should pick up abom 0.5 "by accident" as it has an incompatible semver, but I may have screwed that up in various files.
Do any of these sound likely? If still not, I can try and reproduce if you have a Cargo.toml to go along with the above code.
You are right. The two different versions of the crate appears to be the issue. Thanks.
Code very similar to the following works with Abomonation version 0.4.5 but not with 0.5:
In version 0.5 I get the error: "the trait bound
Baz: abomonation::Abomonation
is not satisfied the traitabomonation::Abomonation
is not implemented forBaz
.note: required because of the requirements of the impl of
Timely::Data
forBaz
note: required bytimely::dataflow::Handle
"Did anything change in the way unsafe_abomonate work? I noticed you removed a generics parameter, but I'm not sure if that has any effect here.