parking_lot 0.10.2

More compact and efficient implementations of the standard synchronization primitives.
Documentation
language: rust
sudo: false

env:
  global:
    - RUST_TEST_THREADS=1

matrix:
  include:
    - rust: 1.36.0
      os: linux
      script:
        - cargo build --lib
        - cargo build --lib --features serde
        # Build on other platforms
        - rustup target add wasm32-unknown-unknown
        - cargo build --lib --target wasm32-unknown-unknown

    - rust: 1.36.0
      os: linux
      script: &script
        - cargo build
        - cargo test --all
        - cargo build --features serde
        - cargo test --features serde
        - cargo test --features=deadlock_detection
        # Test other platforms
        - rustup target add wasm32-unknown-unknown
        - cargo build --all --target wasm32-unknown-unknown

    - rust: stable
      os: linux
      script: *script

    - rust: beta
      os: linux
      script: *script

    - rust: nightly
      os: linux
      script:
        - cargo build --features nightly
        - cargo test --all --features nightly
        - cargo build --features serde,nightly
        - cargo test --all --features serde,nightly
        # Test other platforms
        - rustup target add x86_64-fortanix-unknown-sgx
        - rustup target add x86_64-unknown-redox
        - rustup target add x86_64-unknown-cloudabi
        - rustup target add x86_64-linux-android
        - cargo test --all --no-run --target x86_64-fortanix-unknown-sgx --features nightly
        - cargo build --all --target x86_64-unknown-redox --features nightly
        - cargo build --all --target x86_64-unknown-cloudabi --features nightly
        - cargo build --all --target x86_64-linux-android --features nightly
        # Test building the docs
        - cargo doc --all-features --no-deps -p parking_lot -p parking_lot_core -p lock_api
        # Run the benchmarks
        - cd benchmark
        - cargo run --release --bin mutex -- 2 1 0 1 2
        - cargo run --release --bin rwlock -- 1 1 1 0 1 2
        - cd ..

    - rust: 1.36.0
      os: osx
      script: *script

    - rust: stable
      os: osx
      script: *script

    - rust: beta
      os: osx
      script: *script

    - rust: nightly
      os: osx
      script:
        - cargo build --features nightly
        - cargo test --all --features nightly
        - cargo build --features serde,nightly
        - cargo test --all --features serde,nightly

notifications:
  email: false

branches:
  # Don't build these branches
  except:
    # Used by bors
    - trying.tmp
    - staging.tmp