data-streams 2.0.0

Extension traits for reading and writing data with streams.
Documentation
name: Rust

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

env:
  CARGO_TERM_COLOR: always
  RUSTFLAGS: -Dwarnings

jobs:
  build:
    name: Build ${{matrix.rust}}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        rust: [stable, nightly]
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{matrix.rust}}
      - name: Build no_std${{matrix.rust == 'nightly' && ' + unstable' || ''}}
        run: cargo build --verbose --no-default-features ${{matrix.rust == 'nightly' && '--features unstable' || ''}}
      - name: Build alloc${{matrix.rust == 'nightly' && ' + unstable' || ''}}
        run: cargo build --verbose --no-default-features --features alloc${{matrix.rust == 'nightly' && ',unstable' || ''}}
      - name: Build utf8${{matrix.rust == 'nightly' && ' + unstable' || ''}}
        run: cargo build --verbose --no-default-features --features utf8${{matrix.rust == 'nightly' && ',unstable' || ''}}
      - name: Build alloc + utf8${{matrix.rust == 'nightly' && ' + unstable' || ''}}
        run: cargo build --verbose --no-default-features --features alloc,utf8${{matrix.rust == 'nightly' && ',unstable' || ''}}
      - name: Build std + alloc${{matrix.rust == 'nightly' && ' + unstable' || ''}}
        run: cargo build --verbose --no-default-features --features std,alloc${{matrix.rust == 'nightly' && ',unstable' || ''}}
      - name: Build std + utf8${{matrix.rust == 'nightly' && ' + unstable' || ''}}
        run: cargo build --verbose --no-default-features --features std,utf8${{matrix.rust == 'nightly' && ',unstable' || ''}}
      - name: Build std + alloc + utf8${{matrix.rust == 'nightly' && ' + unstable' || ''}}
        run: cargo build --verbose --no-default-features --features std,alloc,utf8${{matrix.rust == 'nightly' && ',unstable' || ''}}
  clippy:
    name: Clippy ${{matrix.rust}}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        rust: [stable, nightly]
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{matrix.rust}}
          components: clippy
      - name: Clippy no_std${{matrix.rust == 'nightly' && ' + unstable' || ''}}
        run: cargo clippy --verbose --no-default-features ${{matrix.rust == 'nightly' && '--features unstable' || ''}}
      - name: Clippy alloc${{matrix.rust == 'nightly' && ' + unstable' || ''}}
        run: cargo clippy --verbose --no-default-features --features alloc${{matrix.rust == 'nightly' && ',unstable' || ''}}
      - name: Clippy utf8${{matrix.rust == 'nightly' && ' + unstable' || ''}}
        run: cargo clippy --verbose --no-default-features --features utf8${{matrix.rust == 'nightly' && ',unstable' || ''}}
      - name: Clippy alloc + utf8${{matrix.rust == 'nightly' && ' + unstable' || ''}}
        run: cargo clippy --verbose --no-default-features --features alloc,utf8${{matrix.rust == 'nightly' && ',unstable' || ''}}
      - name: Clippy std + alloc${{matrix.rust == 'nightly' && ' + unstable' || ''}}
        run: cargo clippy --verbose --no-default-features --features std,alloc${{matrix.rust == 'nightly' && ',unstable' || ''}}
      - name: Clippy std + utf8${{matrix.rust == 'nightly' && ' + unstable' || ''}}
        run: cargo clippy --verbose --no-default-features --features std,utf8${{matrix.rust == 'nightly' && ',unstable' || ''}}
      - name: Clippy std + alloc + utf8${{matrix.rust == 'nightly' && ' + unstable' || ''}}
        run: cargo clippy --verbose --no-default-features --features std,alloc,utf8${{matrix.rust == 'nightly' && ',unstable' || ''}}
  test:
    name: Test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@nightly
      - run: cargo test --verbose --all-features