diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 57c57f8..e1c24fe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -60,15 +60,11 @@ jobs: steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 - - uses: actions-rs/cargo@v1 with: - command: install - args: cargo-all-features - - uses: actions-rs/cargo@v1 - with: - command: build-all-features - args: -F ${{ matrix.channel }} --all-targets - - uses: actions-rs/cargo@v1 - with: - command: test-all-features - args: -F ${{ matrix.channel }} --lib + toolchain: ${{ matrix.toolchain }} + - name: Install cargo-all-features + run: cargo install cargo-all-features + - name: Build all feature combinations + run: cargo build-all-features -- -F ${{ matrix.channel }} --all-targets + - name: Test all feature combinations + run: cargo test-all-features -- -F ${{ matrix.channel }} --lib diff --git a/.gitignore b/.gitignore index 6959e18..8e8abb0 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,4 @@ Cargo.lock /target lcov.info +.omc/ diff --git a/Cargo.toml b/Cargo.toml index 56119a5..f7a2149 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,6 +31,8 @@ core_affinity = { version = "0.8.1", optional = true } # functionality of these crates internally (other than in tests) flume = { version = "0.11.1", optional = true } loole = { version = "0.4.0", optional = true } +# required with the `async` feature +tokio = { version = "1", optional = true } [dev-dependencies] divan = "0.1.17" @@ -48,6 +50,7 @@ harness = false [features] default = ["local-batch"] affinity = ["dep:core_affinity"] +async = ["tokio"] local-batch = [] retry = [] crossbeam = [] diff --git a/src/hive/inner/shared.rs b/src/hive/inner/shared.rs index dc9728d..0d0f415 100644 --- a/src/hive/inner/shared.rs +++ b/src/hive/inner/shared.rs @@ -143,7 +143,7 @@ impl, T: TaskQueues> Shared { } /// Returns the mutex guard for the results of spawing worker threads. - pub fn spawn_results(&self) -> MutexGuard, SpawnError>>> { + pub fn spawn_results(&self) -> MutexGuard<'_, Vec, SpawnError>>> { self.spawn_results.lock() }