os:
  - linux
  - osx
  - windows
language: rust
rust:
  - stable
  - beta
before_script:
  - rustup component add rustfmt
script:
  - set -e # Abort on failure, see https://github.com/travis-ci/travis-ci/issues/1066
  - cargo fmt -- --check
  - cargo build --verbose
  - cargo test --verbose
matrix:
  include:
    - os: linux
      rust: nightly
      before_script:
        - rustup component add rustfmt
    - os: osx
      rust: nightly
      before_script:
        - rustup component add rustfmt
    - os: windows
      rust: nightly
      before_script:
        - rustup component add rustfmt

  allow_failures:
    - rust: nightly

