Compile with a stable Rust
We should aim to support compilation and use with a stable Rust release, to avoid encountering nightly bugs and depending on unstable APIs.
Some items that need to be handled:
- [ ] Reverie currently uses the unstable
std::testand#[bench]. We should probably use criterion instead. - [x] Reverie uses
#[feature(stdsimd)]since the MMX intrinsics were never stabilized. Once they're removed in favor of SSE2 and AVX2, we can remove this#[feature]. (#4)
Criterion looks like a little bit of a mess. Instead, we can keep using #[bench] and move all benchmarks under benches/ to avoid polluting the main source tree with unstable uses.
Merging #4 and #7 will allow some progress by unmooring us from the current nightly-2020-08-01 and allowing us to use any relatively recent nightly.
Just revisiting: we now support recent nightlies, but #[bench] is still unstable. So we're stuck on nightly builds for the foreseeable future here.