@@ -444,12 +444,12 @@ macro_rules! ImplDekuReadBytes {
444444 <$typ>:: from_be_bytes( buf. try_into( ) . unwrap( ) )
445445 }
446446 }
447- #[ cfg( feature = "bits" ) ]
447+ #[ cfg( all ( feature = "bits" , feature = "alloc" ) ) ]
448448 ReaderRet :: Bits ( Some ( bits) ) => {
449449 let a = <$typ>:: read( & bits, ( endian, size, order) ) ?;
450450 a. 1
451451 }
452- #[ cfg( feature = "bits" ) ]
452+ #[ cfg( all ( feature = "bits" , feature = "alloc" ) ) ]
453453 ReaderRet :: Bits ( None ) => {
454454 return Err ( deku_error!( DekuError :: Parse , "no bits read from reader" ) ) ;
455455 }
@@ -602,12 +602,12 @@ macro_rules! ImplDekuReadSignExtend {
602602 <$typ>:: from_be_bytes( buf. try_into( ) . unwrap( ) )
603603 }
604604 }
605- #[ cfg( feature = "bits" ) ]
605+ #[ cfg( all ( feature = "bits" , feature = "alloc" ) ) ]
606606 ReaderRet :: Bits ( Some ( bits) ) => {
607607 let a = <$typ>:: read( & bits, ( endian, size, order) ) ?;
608608 a. 1
609609 }
610- #[ cfg( feature = "bits" ) ]
610+ #[ cfg( all ( feature = "bits" , feature = "alloc" ) ) ]
611611 ReaderRet :: Bits ( None ) => {
612612 return Err ( deku_error!( DekuError :: Parse , "no bits read from reader" ) ) ;
613613 }
@@ -1370,7 +1370,7 @@ mod tests {
13701370 native_endian!( -0.006_f64 )
13711371 ) ;
13721372
1373- #[ cfg( feature = "bits" ) ]
1373+ #[ cfg( all ( feature = "bits" , feature = "descriptive-errors" ) ) ]
13741374 #[ rstest( input, endian, bit_size, expected, expected_rest_bits, expected_rest_bytes,
13751375 case:: normal( [ 0xDD , 0xCC , 0xBB , 0xAA ] . as_ref( ) , Endian :: Little , Some ( 32 ) , 0xAABB_CCDD , bits![ u8 , Msb0 ; ] , & [ ] ) ,
13761376 case:: normal( [ 0xDD , 0xCC , 0xBB , 0xAA ] . as_ref( ) , Endian :: Big , Some ( 32 ) , 0xDDCC_BBAA , bits![ u8 , Msb0 ; ] , & [ ] ) ,
@@ -1412,6 +1412,7 @@ mod tests {
14121412 assert_eq ! ( expected_rest_bytes, buf) ;
14131413 }
14141414
1415+ #[ cfg( feature = "descriptive-errors" ) ]
14151416 #[ rstest( input, endian, byte_size, expected, expected_rest_bytes,
14161417 case:: normal_be( [ 0xDD , 0xCC , 0xBB , 0xAA ] . as_ref( ) , Endian :: Big , Some ( 4 ) , 0xDDCC_BBAA , & [ ] ) ,
14171418 case:: normal_le( [ 0xDD , 0xCC , 0xBB , 0xAA ] . as_ref( ) , Endian :: Little , Some ( 4 ) , 0xAABB_CCDD , & [ ] ) ,
@@ -1448,7 +1449,7 @@ mod tests {
14481449 assert_eq ! ( expected_rest_bytes, buf) ;
14491450 }
14501451
1451- #[ cfg( feature = "bits" ) ]
1452+ #[ cfg( all ( feature = "bits" , feature = "descriptive-errors" ) ) ]
14521453 #[ rstest( input, endian, bit_size, expected, expected_leftover,
14531454 case:: normal_le( 0xDDCC_BBAA , Endian :: Little , None , vec![ 0xAA , 0xBB , 0xCC , 0xDD ] , vec![ ] ) ,
14541455 case:: normal_be( 0xDDCC_BBAA , Endian :: Big , None , vec![ 0xDD , 0xCC , 0xBB , 0xAA ] , vec![ ] ) ,
@@ -1476,6 +1477,7 @@ mod tests {
14761477 assert_eq ! ( expected, writer. inner. into_inner( ) ) ;
14771478 }
14781479
1480+ #[ cfg( feature = "descriptive-errors" ) ]
14791481 #[ rstest( input, endian, byte_size, expected,
14801482 case:: normal_le( 0xDDCC_BBAA , Endian :: Little , None , vec![ 0xAA , 0xBB , 0xCC , 0xDD ] ) ,
14811483 case:: normal_be( 0xDDCC_BBAA , Endian :: Big , None , vec![ 0xDD , 0xCC , 0xBB , 0xAA ] ) ,
0 commit comments