Skip to content

Commit c08a045

Browse files
authored
ci: run miri on more platform (#34)
1 parent 5242cea commit c08a045

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

.github/workflows/CI.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,17 @@ jobs:
4646
run: cargo test
4747

4848
miri:
49-
runs-on: ubuntu-latest
49+
runs-on: ${{ matrix.os }}
50+
strategy:
51+
fail-fast: false
52+
matrix:
53+
os: [ubuntu-latest, macos-latest]
5054
steps:
5155
- uses: actions/checkout@v5
5256
- name: Setup Rust
5357
uses: dtolnay/rust-toolchain@stable
5458
with:
55-
targets: x86_64-unknown-linux-gnu
56-
components: miri
59+
components: miri,rust-src
5760
toolchain: nightly
5861
- uses: actions/setup-node@v5
5962
with:

src/simd/avx512.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,8 +211,9 @@ pub unsafe fn format_string(value: &str, dst: &mut [u8]) -> usize {
211211

212212
// Handle remaining bytes
213213
let mut placeholder: [u8; LANES] = [0; LANES];
214+
let mut v;
214215
while nb > 0 {
215-
let v = {
216+
v = {
216217
#[cfg(not(any(target_os = "linux", target_os = "macos")))]
217218
{
218219
std::ptr::copy_nonoverlapping(sptr, placeholder[..].as_mut_ptr(), nb);
@@ -237,7 +238,7 @@ pub unsafe fn format_string(value: &str, dst: &mut [u8]) -> usize {
237238
}
238239
};
239240

240-
v.storeu(dptr);
241+
v.storeu(std::slice::from_raw_parts_mut(dptr, LANES).as_mut_ptr());
241242
let mask = escaped_mask(v).clear_high_bits(LANES - nb);
242243

243244
if mask.all_zero() {

0 commit comments

Comments
 (0)