From e6606bce07081cbe42fea99d7b3ff26bf6aaf097 Mon Sep 17 00:00:00 2001 From: Andrew Dona-Couch Date: Wed, 23 Sep 2020 02:50:44 -0400 Subject: [PATCH] fix W::bits signature Fixes #475. --- src/generate/generic.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/generate/generic.rs b/src/generate/generic.rs index 8d7a52a1..a916696f 100644 --- a/src/generate/generic.rs +++ b/src/generate/generic.rs @@ -102,7 +102,7 @@ impl Reg { #[inline(always)] pub fn write(&self, f: F) where - F: FnOnce(&mut REG::Writer) -> &mut REG::Writer, + F: FnOnce(&mut REG::Writer) -> &mut W { self.register.set( f(&mut REG::Writer::from(W { @@ -124,7 +124,7 @@ where #[inline(always)] pub fn write_with_zero(&self, f: F) where - F: FnOnce(&mut REG::Writer) -> &mut REG::Writer, + F: FnOnce(&mut REG::Writer) -> &mut W { self.register.set( (*f(&mut REG::Writer::from(W { @@ -157,7 +157,7 @@ impl Reg { #[inline(always)] pub fn modify(&self, f: F) where - for<'w> F: FnOnce(®::Reader, &'w mut REG::Writer) -> &'w mut REG::Writer, + for<'w> F: FnOnce(®::Reader, &'w mut REG::Writer) -> &'w mut W { let bits = self.register.get(); self.register.set( @@ -216,8 +216,9 @@ pub struct W { impl W { /// Writes raw bits to the register. #[inline(always)] - pub unsafe fn bits(&mut self, bits: REG::Ux) { + pub unsafe fn bits(&mut self, bits: REG::Ux) -> &mut Self { self.bits = bits; + self } }