Repository: bonsairobo/block-mesh-rs (language: rust)

Issue:
Benchmark build failing
Environment: M1 Max MBP w/ MacOS 12.3.1

```
active toolchain
----------------

stable-aarch64-apple-darwin (default)
rustc 1.60.0 (7737e0b5c 2022-04-04)
```

Repro steps:
```shell
git clone https://github.com/bonsairobo/block-mesh-rs
cd block-mesh-rs
cargo build  # builds successfully
cd bench
cargo bench  # build fails
```

Errors:
<img width="1025" alt="CleanShot 2022-04-13 at 14 09 54@2x" src="https://user-images.githubusercontent.com/1320357/163136371-5d9fb99f-38de-4c8e-89b7-fd838e41fc1c.png">





Discussion / hints:

Fix patch:
diff --git a/bench/.github/workflows/ci.yml b/bench/.github/workflows/ci.yml
new file mode 100644
index 0000000..340766d
--- /dev/null
+++ b/bench/.github/workflows/ci.yml
@@ -0,0 +1,19 @@
+on: [push, pull_request]
+
+name: Continuous integration
+
+jobs:
+  bench:
+    name: Bench
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+      - uses: actions-rs/toolchain@v1
+        with:
+          profile: minimal
+          toolchain: stable
+          override: true
+      - uses: actions-rs/cargo@v1
+        with:
+          command: bench
+          args: --manifest-path ./bench/Cargo.toml
diff --git a/bench/src/bench.rs b/bench/src/bench.rs
index 6d0149e..9c54efe 100644
--- a/bench/src/bench.rs
+++ b/bench/src/bench.rs
@@ -1,7 +1,7 @@
 use block_mesh::ndshape::{ConstShape, ConstShape3u32};
 use block_mesh::{
     greedy_quads, visible_block_faces, GreedyQuadsBuffer, MergeVoxel, UnitQuadBuffer, Voxel,
-    RIGHT_HANDED_Y_UP_CONFIG,
+    VoxelVisibility, RIGHT_HANDED_Y_UP_CONFIG,
 };
 
 use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion};
@@ -166,12 +166,12 @@ const EMPTY: BoolVoxel = BoolVoxel(false);
 const FULL: BoolVoxel = BoolVoxel(true);
 
 impl Voxel for BoolVoxel {
-    fn is_empty(&self) -> bool {
-        *self == EMPTY
-    }
-
-    fn is_opaque(&self) -> bool {
-        true
+    fn get_visibility(&self) -> VoxelVisibility {
+        if *self == EMPTY {
+            VoxelVisibility::Empty
+        } else {
+            VoxelVisibility::Opaque
+        }
     }
 }
 


Test patch: