tikv / fail-rs

Fail points for rust
Apache License 2.0
338 stars 40 forks source link

Upgrade to Rust 2018 #21

Closed brson closed 5 years ago

brson commented 5 years ago

After TiKV itself is successfully upgraded (tikv/tikv#3896) we can bump fail to Rust 2018 as well. Do a major version bump.

brson commented 5 years ago

I have a branch that I think is ready to go here: https://github.com/brson/fail-rs/tree/rust-2018, but waiting until the tikv 2018 upgrade lands without trouble before this one.

brson commented 5 years ago

In thinking about backwards compatibility I'm inclined to explicitly break support for Rust 2015 when we do this upgrade - it's possible to be compatible with both (in some situations, I believe), but by doing so we have to be vigilant about breaking 2015 compatibility. I'm inclined to insert some boilerplate code into each of fail, prometheus, and grpc that is definitely 2018 only and breaks the build under 2015 so we don't have to worry about breaking 2015 compatibility in a minor version bump.

Let me know if anybody is opposed to that.

brson commented 5 years ago

I have not found a toolchain that both ignores "edition" and successfully interprets crate in paths, so I suspect turning on 2018 will cleanly break compatibility with pre-1.32 toolchains.

brson commented 5 years ago

The tikv toolchain is upgraded to a version that supports 2018 now, so I think once it's had a few days on master w/o being reverted it's safe to go ahead. I'll do so sometime next week.