Bloody hell. I’m somewhat of a stickler for backwards compatibility, but I wouldn’t even attempt to write code that worked with 0.19.0. That predates stabilisation. The odds of anything written in the last year working on that are vanishingly small.
As an aside: when the topic of back-compat comes up, a common reason not to bother is “why don’t you just install the latest version?”. As such, I’d be very interested in knowing even a little about why you can’t update. Having another example of why it’s not always so simple is useful. Also, I’m curious as to how you’ve ended up stuck on a pre-release version of Rust.
Anyway, you can’t not compile dependencies. It’d be like trying to fly a plane after removing a wing because it failed safety inspection. It kind of needs those. You also can’t suppress compile errors: that is like “suppressing” a failure to attach the engines to a plane. Again, they’re rather necessary.
Your best (possibly only) bet is to try the earliest version of all dependencies you can find and hope they work on 0.19.0. To do this, you need to take your immediate dependencies (like
flatbuffers), get on
crates.io and find the earliest version you can. Then, set that as the version you depend on with something like:
flatbuffers = "=0.4.0"
It looks like
flatbuffers goes back to 0.1.0 in 2016, but every version before 0.4.0 has been yanked, so presumably there are security issues with those versions, and you can’t use them.†
At that point, try compiling. If a transitive dependency fails, find it on
crates.io, and add an explicit dependency on the earliest version you can find that is also compatible with whatever requires it.
flatbuffers 0.4.0 requires
smallvec 0.6 or compatible, so you’d need to find the earliest version of
smallvec 0.6.* that works.
And if that fails… you can either try to fork and back-port the dependencies to Rust 0.19.0, not use that dependency and write the needed code yourself, or give up entirely.
†: At least, not without hand-editing the
Cargo.lock file. I couldn’t tell you how to do that.