Skip to content

Commit 3467cd8

Browse files
committed
default Field reader generics
1 parent e6a6d15 commit 3467cd8

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

src/generate/generic.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -301,9 +301,9 @@ impl<REG: RegisterSpec> W<REG> {
301301
}
302302

303303
#[doc(hidden)]
304-
pub struct FieldReaderRaw<U, T> {
304+
pub struct FieldReaderRaw<U, FI> {
305305
pub(crate) bits: U,
306-
_reg: marker::PhantomData<T>,
306+
_reg: marker::PhantomData<FI>,
307307
}
308308

309309
impl<U, FI> FieldReaderRaw<U, FI>
@@ -322,9 +322,9 @@ where
322322
}
323323

324324
#[doc(hidden)]
325-
pub struct BitReaderRaw<T> {
325+
pub struct BitReaderRaw<FI> {
326326
pub(crate) bits: bool,
327-
_reg: marker::PhantomData<T>,
327+
_reg: marker::PhantomData<FI>,
328328
}
329329

330330
impl<FI> BitReaderRaw<FI> {
@@ -342,10 +342,10 @@ impl<FI> BitReaderRaw<FI> {
342342
/// Field reader.
343343
///
344344
/// Result of the `read` methods of fields.
345-
pub type FieldReader<U, FI> = FieldReaderRaw<U, FI>;
345+
pub type FieldReader<U, FI = u8> = FieldReaderRaw<U, FI>;
346346

347347
/// Bit-wise field reader
348-
pub type BitReader<FI> = BitReaderRaw<FI>;
348+
pub type BitReader<FI = bool> = BitReaderRaw<FI>;
349349

350350
impl<U, FI> FieldReader<U, FI>
351351
where

src/generate/register.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -545,7 +545,13 @@ pub fn fields(
545545
// derive the read proxy structure if necessary.
546546
if should_derive_reader {
547547
let reader = if width == 1 {
548-
quote! { crate::BitReader<#value_read_ty> }
548+
if value_read_ty == "bool" {
549+
quote! { crate::BitReader }
550+
} else {
551+
quote! { crate::BitReader<#value_read_ty> }
552+
}
553+
} else if value_read_ty == "u8" {
554+
quote! { crate::FieldReader<#fty> }
549555
} else {
550556
quote! { crate::FieldReader<#fty, #value_read_ty> }
551557
};

0 commit comments

Comments
 (0)