diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2017-01-29 15:18:13 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-29 15:18:13 -0800 |
commit | 3ef1a277c01e5c146cfdeb112c01c6261555c8b9 (patch) | |
tree | e88b1005701d46c0271435d79e5e00d0c753733d /src/codegen/mod.rs | |
parent | 3660d4d443b2c4a6620376899786b4d75aebf3a2 (diff) | |
parent | fedca4883881b3d589df06a8808fef22ce205808 (diff) |
Auto merge of #457 - emilio:test-array, r=fitzgen
tests: Add an integration test for static arrays.
Turns out they were broken before
https://github.com/servo/rust-bindgen/issues/456.
Let's test it so it doesn't regress.
r? @fitzgen
Diffstat (limited to 'src/codegen/mod.rs')
-rw-r--r-- | src/codegen/mod.rs | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs index 0a6737bb..313ca8b0 100644 --- a/src/codegen/mod.rs +++ b/src/codegen/mod.rs @@ -2385,31 +2385,48 @@ mod utils { #[inline] pub unsafe fn as_slice(&self, len: usize) -> &[T] { - ::std::slice::from_raw_parts(self.as_ptr(), len) + ::$prefix::slice::from_raw_parts(self.as_ptr(), len) } #[inline] pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { - ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) + ::$prefix::slice::from_raw_parts_mut(self.as_mut_ptr(), len) } } ) .unwrap(); let incomplete_array_debug_impl = quote_item!(ctx.ext_cx(), - impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> { - fn fmt(&self, fmt: &mut ::std::fmt::Formatter) - -> ::std::fmt::Result { + impl<T> ::$prefix::fmt::Debug for __IncompleteArrayField<T> { + fn fmt(&self, fmt: &mut ::$prefix::fmt::Formatter) + -> ::$prefix::fmt::Result { fmt.write_str("__IncompleteArrayField") } } ) .unwrap(); + let incomplete_array_clone_impl = quote_item!(&ctx.ext_cx(), + impl<T> ::$prefix::clone::Clone for __IncompleteArrayField<T> { + #[inline] + fn clone(&self) -> Self { + Self::new() + } + } + ) + .unwrap(); + + let incomplete_array_copy_impl = quote_item!(&ctx.ext_cx(), + impl<T> ::$prefix::marker::Copy for __IncompleteArrayField<T> {} + ) + .unwrap(); + let items = vec![ incomplete_array_decl, incomplete_array_impl, incomplete_array_debug_impl, + incomplete_array_clone_impl, + incomplete_array_copy_impl, ]; let old_items = mem::replace(result, items); |