@@ -8,7 +8,8 @@ pub mod pendings;
88pub mod priorities;
99pub mod threshold;
1010
11- pub use riscv_pac:: { HartIdNumber , InterruptNumber , PriorityNumber } ; // re-export useful riscv-pac traits
11+ // re-export useful riscv-pac traits
12+ pub use riscv_pac:: { HartIdNumber , InterruptNumber , PriorityNumber } ;
1213
1314/// Trait for a PLIC peripheral.
1415///
@@ -145,6 +146,7 @@ impl<P: Plic> CTX<P> {
145146#[ cfg( test) ]
146147pub ( crate ) mod test {
147148 use super :: { HartIdNumber , InterruptNumber , PriorityNumber } ;
149+ use riscv_pac:: result:: { Error , Result } ;
148150
149151 #[ derive( Clone , Copy , Debug , Eq , PartialEq ) ]
150152 #[ repr( u16 ) ]
@@ -181,9 +183,9 @@ pub(crate) mod test {
181183 }
182184
183185 #[ inline]
184- fn from_number ( number : u16 ) -> Result < Self , u16 > {
186+ fn from_number ( number : u16 ) -> Result < Self > {
185187 if number > Self :: MAX_INTERRUPT_NUMBER || number == 0 {
186- Err ( number)
188+ Err ( Error :: InvalidVariant ( number as usize ) )
187189 } else {
188190 // SAFETY: valid interrupt number
189191 Ok ( unsafe { core:: mem:: transmute ( number) } )
@@ -200,9 +202,9 @@ pub(crate) mod test {
200202 }
201203
202204 #[ inline]
203- fn from_number ( number : u8 ) -> Result < Self , u8 > {
205+ fn from_number ( number : u8 ) -> Result < Self > {
204206 if number > Self :: MAX_PRIORITY_NUMBER {
205- Err ( number)
207+ Err ( Error :: InvalidVariant ( number as usize ) )
206208 } else {
207209 // SAFETY: valid priority number
208210 Ok ( unsafe { core:: mem:: transmute ( number) } )
@@ -219,9 +221,9 @@ pub(crate) mod test {
219221 }
220222
221223 #[ inline]
222- fn from_number ( number : u16 ) -> Result < Self , u16 > {
224+ fn from_number ( number : u16 ) -> Result < Self > {
223225 if number > Self :: MAX_HART_ID_NUMBER {
224- Err ( number)
226+ Err ( Error :: InvalidVariant ( number as usize ) )
225227 } else {
226228 // SAFETY: valid context number
227229 Ok ( unsafe { core:: mem:: transmute ( number) } )
@@ -241,8 +243,8 @@ pub(crate) mod test {
241243 assert_eq ! ( Interrupt :: from_number( 3 ) , Ok ( Interrupt :: I3 ) ) ;
242244 assert_eq ! ( Interrupt :: from_number( 4 ) , Ok ( Interrupt :: I4 ) ) ;
243245
244- assert_eq ! ( Interrupt :: from_number( 0 ) , Err ( 0 ) ) ;
245- assert_eq ! ( Interrupt :: from_number( 5 ) , Err ( 5 ) ) ;
246+ assert_eq ! ( Interrupt :: from_number( 0 ) , Err ( Error :: InvalidVariant ( 0 ) ) , ) ;
247+ assert_eq ! ( Interrupt :: from_number( 5 ) , Err ( Error :: InvalidVariant ( 5 ) ) , ) ;
246248 }
247249
248250 #[ test]
@@ -257,7 +259,7 @@ pub(crate) mod test {
257259 assert_eq ! ( Priority :: from_number( 2 ) , Ok ( Priority :: P2 ) ) ;
258260 assert_eq ! ( Priority :: from_number( 3 ) , Ok ( Priority :: P3 ) ) ;
259261
260- assert_eq ! ( Priority :: from_number( 4 ) , Err ( 4 ) ) ;
262+ assert_eq ! ( Priority :: from_number( 4 ) , Err ( Error :: InvalidVariant ( 4 ) ) , ) ;
261263 }
262264
263265 #[ test]
@@ -270,7 +272,7 @@ pub(crate) mod test {
270272 assert_eq ! ( Context :: from_number( 1 ) , Ok ( Context :: C1 ) ) ;
271273 assert_eq ! ( Context :: from_number( 2 ) , Ok ( Context :: C2 ) ) ;
272274
273- assert_eq ! ( Context :: from_number( 3 ) , Err ( 3 ) ) ;
275+ assert_eq ! ( Context :: from_number( 3 ) , Err ( Error :: InvalidVariant ( 3 ) ) , ) ;
274276 }
275277
276278 #[ allow( dead_code) ]
0 commit comments