bbtree 0.1.2

Blessed B-tree.
Documentation
# Named for its README badge.
name: sanitizer

# The tests under AddressSanitizer, with its LeakSanitizer: out-of-bounds
# accesses, use after free, double frees and leaks, in the code as compiled
# for real hardware, at the tests' full sizes. Miri sees only the code paths
# it can interpret, at small sizes.
on:
  push:
    branches: [main]
  pull_request:
  workflow_dispatch:

# Cancel a pull request's superseded runs. Every commit on main finishes its
# run, so the README badge reports it.
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: ${{ github.event_name == 'pull_request' }}

permissions:
  contents: read

env:
  CARGO_TERM_COLOR: always
  RUST_BACKTRACE: 1

jobs:
  address-sanitizer:
    name: address sanitizer
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      # Keep this exact nightly aligned with flake.nix.
      - name: Install Rust (nightly-2026-10-07)
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly-2026-10-07
          components: rust-src

      - uses: Swatinem/rust-cache@v2

      # `-Zbuild-std` instruments std as well, which needs an explicit
      # `--target`. Doc tests aren't built with the sanitizer, so they stay
      # out.
      - name: Test
        env:
          RUSTFLAGS: -Zsanitizer=address
          ASAN_OPTIONS: detect_leaks=1
        run: cargo test -Zbuild-std --target x86_64-unknown-linux-gnu --lib --all-features