The recent discussions around this subject motivated me to refresh stdx.
It's now up to date with Rust 1.15 and custom derive. The version is 0.115.0-rc, with the -rc
on there because the 0.9 serde line is still only in -rc
.
This was a big revision, and stdx is now firmly oriented toward teaching, with a single illustrative example of every single crate. I made a bunch of changes to the crate composition, with clap replacing docopt, adding reqwest, rayon, error-chain, and others. There are too many changes to describe, so please give it a look.
This as an interesting upgrade experience. The stdx Cargo.toml file uses exact version requirements, and this time that exposed an incompatibility between the crates I was using, where clap wouldn't let me upgrade libc fully.
That made me realize that, even if stdx never becomes a crate that one would use like std, simply linking it into your crate dag has an interesting, and fairly desirable effect of locking down these crates to the stdx-approved version. I think there's a lot of possibilities for verification along those lines, like testing arbitrary crates using the stdx version lock to ensure broad compatibility.
I also noticed that there are a number of crates here with serde
features, and none are yet compatible with the 0.9 series. I think stdx
and projects like it can take a role in ensuring that e.g. all the stdx
crates are working correctly with serde and otherwise establishing conventions for compile-time features.