curve25519-dalek 0.8.0

A low-level cryptographic library for point, group, field, and scalar operations on a curve isomorphic to the twisted Edwards curve defined by -x²+y² = 1 - 121665/121666 x²y² over GF(2²⁵⁵ - 19).
Documentation
language: rust

rust:
  - stable
  - beta
  - nightly

env:
  - TEST_COMMAND=test FEATURES=--features="yolocrypto"
  - TEST_COMMAND=test FEATURES=--features="yolocrypto serde"
  - TEST_COMMAND=test FEATURES=--features="yolocrypto nightly"
  - TEST_COMMAND=bench FEATURES=--features="yolocrypto bench"
  - TEST_COMMAND=bench FEATURES=--features="yolocrypto nightly bench"
  - TEST_COMMAND=build FEATURES=--no-default-features

matrix:
  exclude:
    # We can probably remove this, as we reasonably expect dalek to work on
    # stable and beta, but currently we require "test" feature in order to
    # run benchmarks, which causes dalek not to build on stable.  See
    # https://github.com/isislovecruft/curve25519-dalek/pull/38#issuecomment-286027562
    - rust: stable
      env: TEST_COMMAND=bench FEATURES=--features="yolocrypto bench"
    - rust: beta
      env: TEST_COMMAND=bench FEATURES=--features="yolocrypto bench"
    - rust: stable
      env: TEST_COMMAND=bench FEATURES=--features="yolocrypto nightly bench"
    - rust: beta
      env: TEST_COMMAND=bench FEATURES=--features="yolocrypto nightly bench"
    # Test nightly features, such as radix_51, only on nightly.
    - rust: stable
      env: TEST_COMMAND=test FEATURES=--features="yolocrypto nightly"
    - rust: beta
      env: TEST_COMMAND=test FEATURES=--features="yolocrypto nightly"
    # Test no_std only on nightly.
    - rust: stable
      env: TEST_COMMAND=build FEATURES=--no-default-features
    - rust: beta
      env: TEST_COMMAND=build FEATURES=--no-default-features

script:
  - cargo $TEST_COMMAND $FEATURES