aligned_box 0.3.0

Allocate heap memory with user-specified alignment
Documentation
name: CI

on:
  push:
    branches:
    - master
  pull_request:
    branches:
    - master
  workflow_dispatch:

jobs:
  stable:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: dtolnay/rust-toolchain@stable
    - name: Build
      run: cargo build --verbose --target x86_64-unknown-linux-gnu
    - name: Test
      run: cargo test --verbose --target x86_64-unknown-linux-gnu

  beta:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: dtolnay/rust-toolchain@beta
    - name: Build
      run: cargo build --verbose --target x86_64-unknown-linux-gnu
    - name: Test
      run: cargo test --verbose --target x86_64-unknown-linux-gnu

  nightly:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: dtolnay/rust-toolchain@nightly
    - name: Build
      run: cargo build --verbose --target x86_64-unknown-linux-gnu
    - name: Test
      run: cargo test --verbose --target x86_64-unknown-linux-gnu

  addressSanitizer:
    runs-on: ubuntu-latest
    env:
      RUSTFLAGS: -Zsanitizer=address
      RUSTDOCFLAGS: -Zsanitizer=address
    steps:
    - uses: actions/checkout@v3
    - uses: dtolnay/rust-toolchain@nightly
      with:
        components: rust-src
    - name: Build
      run: cargo build --verbose -Zbuild-std --target x86_64-unknown-linux-gnu
    - name: Test
      run: cargo test --verbose -Zbuild-std --target x86_64-unknown-linux-gnu

  leakSanitizer:
    runs-on: ubuntu-latest
    env:
      RUSTFLAGS: -Zsanitizer=leak
      RUSTDOCFLAGS: -Zsanitizer=leak
    steps:
    - uses: actions/checkout@v3
    - uses: dtolnay/rust-toolchain@nightly
      with:
        components: rust-src
    - name: Build
      run: cargo build --verbose -Zbuild-std --target x86_64-unknown-linux-gnu
    - name: Test
      run: cargo test --verbose -Zbuild-std --target x86_64-unknown-linux-gnu

  memorySanitizer:
    runs-on: ubuntu-latest
    env:
      RUSTFLAGS: -Zsanitizer=memory
      RUSTDOCFLAGS: -Zsanitizer=memory
    steps:
    - uses: actions/checkout@v3
    - uses: dtolnay/rust-toolchain@nightly
      with:
        components: rust-src
    - name: Build
      run: cargo build --verbose -Zbuild-std --target x86_64-unknown-linux-gnu
    - name: Test
      run: cargo test --verbose -Zbuild-std --target x86_64-unknown-linux-gnu

  threadSanitizer:
    runs-on: ubuntu-latest
    env:
      RUSTFLAGS: -Zsanitizer=thread
      RUSTDOCFLAGS: -Zsanitizer=thread
    steps:
    - uses: actions/checkout@v3
    - uses: dtolnay/rust-toolchain@nightly
      with:
        components: rust-src
    - name: Build
      run: cargo build --verbose -Zbuild-std --target x86_64-unknown-linux-gnu
    - name: Test
      run: cargo test --verbose -Zbuild-std --target x86_64-unknown-linux-gnu

  miri:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: dtolnay/rust-toolchain@nightly
      with:
        components: miri
    - name: Setup
      run: cargo miri setup
    - name: Test
      run: cargo miri test --verbose

  clippy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: dtolnay/rust-toolchain@nightly
      with:
        components: clippy
    - name: Lint
      run: cargo clippy --all-targets --all-features -- -D warnings

  no-std:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: dtolnay/rust-toolchain@stable
      with:
        targets: riscv64gc-unknown-none-elf
    - name: Build
      run: cargo build --verbose --no-default-features --target riscv64gc-unknown-none-elf