| sudo: false |
| language: rust |
| cache: |
| cargo: true |
| matrix: |
| include: |
| - name: miri |
| env: TRAVIS_MIRI_JOB # make sure the cache is not shared with other "nightly" jobs |
| rust: nightly |
| script: |
| - sh ci/miri.sh |
| |
| - rust: 1.19.0 # Oldest supported (first version with numeric fields in struct patterns) |
| - rust: 1.20.0 # Oldest supported with tuple_ty |
| - rust: 1.31.0 # Oldest supported with allow(clippy) |
| - rust: 1.36.0 # Oldest supported with MaybeUninit |
| - rust: 1.40.0 # Oldest supported with cfg(doctest) |
| - rust: 1.51.0 # Oldest supported with ptr::addr_of! |
| - rust: stable |
| - rust: beta |
| - rust: nightly |
| |
| - name: all-features |
| rust: nightly |
| script: |
| # `--lib` added to prevent doctests from being compiled. |
| # This is due to `unstable_const` requiring extra `feature(...)` directives |
| # which the doctests do not have. |
| - cargo test --verbose --all-features --lib |
| |
| - name: rustfmt |
| rust: 1.36.0 |
| install: |
| - rustup component add rustfmt |
| script: |
| - cargo fmt -- --check |
| |
| - name: deny-warnings |
| env: RUSTFLAGS="-D warnings" |
| rust: 1.33.0 # `stable`: Locking down for consistent behavior |
| script: |
| - cargo check --tests |
| |
| install: |
| - rustc -Vv |
| - cargo -V |
| |
| script: |
| - rm -rf target/debug/deps/*memoffset* # Avoid rustdoc problems |
| - cargo test --verbose |