language: rust

matrix:
  include:
    - os: linux
      rust: 1.8.0

    - os: linux
      rust: 1.10.0

    - os: linux
      rust: 1.14.0

    - os: linux
      rust: 1.18.0

    - os: linux
      rust: 1.22.0

    - os: linux
      rust: beta

    - os: linux
      rust: nightly

    - os: osx
      rust: stable

    - os: osx
      rust: beta

    - os: osx
      rust: nightly

language: rust

matrix:
  include:
    - os: linux
      rust: 1.8.0

    - os: linux
      rust: 1.10.0

    - os: linux
      rust: 1.14.0

    - os: linux
      rust: 1.18.0

    - os: linux
      rust: 1.22.0

    - os: linux
      rust: beta

    - os: linux
      rust: nightly

    - os: osx
      rust: stable

    # TODO: Restore when https://github.com/rust-lang/rust/issues/55817 is fixed.
    # - os: osx
    #   rust: beta

    - os: osx
      rust: nightly

Work around Rust distribution breakage
Work around Rust distribution breakage

My monthly Travis build failed without any changes on my part. I did pin
Rust versions, but I also test on "nightly", "beta", and "stable", which
are mutable. "Beta" today is not the same as "beta" one month ago, so
other people can still break my build. Rustup is provided by Travis so I
cannot pin Rustup either. Travis might have updated it to a broken
version, or the Rust project might have broken their hosting of the beta
channel for OS X upstream. I am not sure what the underlying issue is,
but from skimming the comments it looks like it will sort itself out. In
the mean time, disable testing on beta on OS X.

Related issues:

  https://github.com/rust-lang-nursery/rustup.rs/issues/1539
  https://github.com/rust-lang/rust/issues/55817
