syn crate, in version 1.0.58, conditionalized the publication of its
syn::export module. Unfortunately, this breaking change did exactly that: it broke the previously working latest build of the
test-case crate. In an attempt to avoid the consequences (and ever run a test again), I switched over to using the
parameterized crate. It's also broken in the same way.
syn authors get a chance to back out this breaking change and move it into a 1.1.0 release (which won't be automatically pulled into the
parameterized crates), how should I bypass this broken version in this transitive dependency?
I know how to update the Cargo.lock file appropriately, but I'm in the habit of erasing that entirely. It's also
.gitignored in my project, so it won't "just work" for the other developers.
The [patch.crates-io] syntax in the Crates.toml file is another possibility, but it doesn't seem to do what I want. Meanwhile, the [replace] syntax is deprecated, and probably wouldn't solve this either.
Perhaps I should manually check out the GitHub version of 1.0.58, and clobber it into working, then use a patch?
How do long-time Rust users deal with these occasional instabilities from below?