@@ -48,10 +48,10 @@ impl<T> Debug for PyBuffer<T> {
48
48
. field ( "itemsize" , & self . 0 . itemsize )
49
49
. field ( "readonly" , & self . 0 . readonly )
50
50
. field ( "ndim" , & self . 0 . ndim )
51
- . field ( "format" , & self . 0 . format )
52
- . field ( "shape" , & self . 0 . shape )
53
- . field ( "strides" , & self . 0 . strides )
54
- . field ( "suboffsets" , & self . 0 . suboffsets )
51
+ . field ( "format" , & self . format ( ) )
52
+ . field ( "shape" , & self . shape ( ) )
53
+ . field ( "strides" , & self . strides ( ) )
54
+ . field ( "suboffsets" , & self . suboffsets ( ) )
55
55
. field ( "internal" , & self . 0 . internal )
56
56
. finish ( )
57
57
}
@@ -228,7 +228,9 @@ impl<T: Element> PyBuffer<T> {
228
228
Ok ( buf)
229
229
}
230
230
}
231
+ }
231
232
233
+ impl < T > PyBuffer < T > {
232
234
/// Gets the pointer to the start of the buffer memory.
233
235
///
234
236
/// Warning: the buffer memory can be mutated by other code (including
@@ -367,7 +369,9 @@ impl<T: Element> PyBuffer<T> {
367
369
pub fn is_fortran_contiguous ( & self ) -> bool {
368
370
unsafe { ffi:: PyBuffer_IsContiguous ( & * self . 0 , b'F' as std:: ffi:: c_char ) != 0 }
369
371
}
372
+ }
370
373
374
+ impl < T : Element > PyBuffer < T > {
371
375
/// Gets the buffer memory as a slice.
372
376
///
373
377
/// This function succeeds if:
@@ -703,29 +707,24 @@ mod tests {
703
707
704
708
use crate :: ffi;
705
709
use crate :: types:: any:: PyAnyMethods ;
710
+ use crate :: types:: PyBytes ;
706
711
use crate :: Python ;
707
712
708
713
#[ test]
709
714
fn test_debug ( ) {
710
715
Python :: attach ( |py| {
711
- let bytes = py . eval ( ffi :: c_str! ( "b' abcde'" ) , None , None ) . unwrap ( ) ;
716
+ let bytes = PyBytes :: new ( py , b" abcde" ) ;
712
717
let buffer: PyBuffer < u8 > = PyBuffer :: get ( & bytes) . unwrap ( ) ;
713
718
let expected = format ! (
714
719
concat!(
715
720
"PyBuffer {{ buf: {:?}, obj: {:?}, " ,
716
721
"len: 5, itemsize: 1, readonly: 1, " ,
717
- "ndim: 1, format: {:?} , shape: {:?} , " ,
718
- "strides: {:?} , suboffsets: {:?} , internal: {:?} }}" ,
722
+ "ndim: 1, format: \" B \" , shape: [5] , " ,
723
+ "strides: [1] , suboffsets: None , internal: {:?} }}" ,
719
724
) ,
720
- buffer. 0 . buf,
721
- buffer. 0 . obj,
722
- buffer. 0 . format,
723
- buffer. 0 . shape,
724
- buffer. 0 . strides,
725
- buffer. 0 . suboffsets,
726
- buffer. 0 . internal
725
+ buffer. 0 . buf, buffer. 0 . obj, buffer. 0 . internal
727
726
) ;
728
- let debug_repr = format ! ( "{buffer :?}" ) ;
727
+ let debug_repr = format ! ( "{:?}" , buffer ) ;
729
728
assert_eq ! ( debug_repr, expected) ;
730
729
} ) ;
731
730
}
@@ -867,7 +866,7 @@ mod tests {
867
866
#[ test]
868
867
fn test_bytes_buffer ( ) {
869
868
Python :: attach ( |py| {
870
- let bytes = py . eval ( ffi :: c_str! ( "b' abcde'" ) , None , None ) . unwrap ( ) ;
869
+ let bytes = PyBytes :: new ( py , b" abcde" ) ;
871
870
let buffer = PyBuffer :: get ( & bytes) . unwrap ( ) ;
872
871
assert_eq ! ( buffer. dimensions( ) , 1 ) ;
873
872
assert_eq ! ( buffer. item_count( ) , 5 ) ;
0 commit comments