Skip to content

Commit d41c73a

Browse files
authored
Merge pull request #25 from Zenithsiz/master
Fixed single-argument `{mut_}array_refs` returning wrong type.
2 parents 827857d + feab803 commit d41c73a

File tree

1 file changed

+22
-6
lines changed

1 file changed

+22
-6
lines changed

src/lib.rs

+22-6
Original file line numberDiff line numberDiff line change
@@ -118,15 +118,15 @@ macro_rules! array_refs {
118118
let aref = & *(p as *const [T; $pre]);
119119
p = p.add($pre);
120120
aref
121-
} ),* , {
121+
}, )* {
122122
let sl = slice::from_raw_parts(p as *const T, var_len);
123123
p = p.add(var_len);
124124
sl
125125
}, $( {
126126
let aref = & *(p as *const [T; $post]);
127127
p = p.add($post);
128128
aref
129-
} ),*)
129+
}, )*)
130130
}
131131
let input = $arr;
132132
#[allow(unused_unsafe)]
@@ -146,7 +146,7 @@ macro_rules! array_refs {
146146
let aref = &*(p as *const [T; $len]);
147147
p = p.offset($len as isize);
148148
aref
149-
} ),* )
149+
}, )* )
150150
}
151151
let input = $arr;
152152
#[allow(unused_unsafe)]
@@ -215,15 +215,15 @@ macro_rules! mut_array_refs {
215215
let aref = &mut *(p as *mut [T; $pre]);
216216
p = p.add($pre);
217217
aref
218-
} ),* , {
218+
}, )* {
219219
let sl = slice::from_raw_parts_mut(p as *mut T, var_len);
220220
p = p.add(var_len);
221221
sl
222222
}, $( {
223223
let aref = &mut *(p as *mut [T; $post]);
224224
p = p.add($post);
225225
aref
226-
} ),*)
226+
}, )*)
227227
}
228228
let input = $arr;
229229
#[allow(unused_unsafe)]
@@ -243,7 +243,7 @@ macro_rules! mut_array_refs {
243243
let aref = &mut *(p as *mut [T; $len]);
244244
p = p.add($len);
245245
aref
246-
} ),* )
246+
}, )* )
247247
}
248248
let input = $arr;
249249
#[allow(unused_unsafe)]
@@ -482,5 +482,21 @@ fn forbidden_clippy_lints_do_not_fire() {
482482
let _ = mut_array_refs![&mut data, 8; .. ; 10];
483483
}
484484

485+
#[test]
486+
fn single_arg_refs() {
487+
let mut data = [0u8; 8];
488+
let (_, ) = array_refs![&data, 8];
489+
let (_, ) = mut_array_refs![&mut data, 8];
490+
491+
let (_, _) = array_refs![&data, 4; ..;];
492+
let (_, _) = mut_array_refs![&mut data, 4; ..;];
493+
494+
let (_, _) = array_refs![&data,; ..; 4];
495+
let (_, _) = mut_array_refs![&mut data,; ..; 4];
496+
497+
let (_,) = array_refs![&data,; ..;];
498+
let (_,) = mut_array_refs![&mut data,; ..;];
499+
}
500+
485501
} // mod test
486502

0 commit comments

Comments
 (0)