Skip to content

Commit 9bd032e

Browse files
committed
Fixup iface common, require default bound
1 parent 9adc253 commit 9bd032e

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/generate/iface/common.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -53,21 +53,23 @@ impl<'a, I, K: Copy, V, A: Access> Reg<'a, I, K, V, A> {
5353
}
5454
}
5555

56-
impl<'a, I: Interface<K, V>, K: Copy, V: Copy, A: Read> Reg<'a, I, K, V, A> {
56+
impl<'a, I: Interface<K, V>, K: Copy, V, A: Read> Reg<'a, I, K, V, A> {
5757
#[inline(always)]
5858
pub fn read(&mut self) -> Result<V, I::Error> {
5959
self.iface.read(self.addr)
6060
}
6161
}
6262

63-
impl<'a, I: Interface<K, V>, K: Copy, V: Copy, A: Write> Reg<'a, I, K, V, A> {
63+
impl<'a, I: Interface<K, V>, K: Copy, V, A: Write> Reg<'a, I, K, V, A> {
6464
#[inline(always)]
6565
pub fn write_value(&mut self, val: V) -> Result<(), I::Error> {
6666
self.iface.write(self.addr, val)
6767
}
6868
}
6969

70-
impl<'a, I: Interface<K, V>, K: Copy, V: Default + Copy, A: Write> Reg<'a, I, K, V, A> {
70+
impl<'a, I: Interface<K, V>, K: Copy, V: Copy + core::default::Default, A: Write>
71+
Reg<'a, I, K, V, A>
72+
{
7173
#[inline(always)]
7274
pub fn write<R>(&mut self, f: impl FnOnce(&mut V) -> R) -> Result<R, I::Error> {
7375
let mut val = Default::default();
@@ -77,7 +79,7 @@ impl<'a, I: Interface<K, V>, K: Copy, V: Default + Copy, A: Write> Reg<'a, I, K,
7779
}
7880
}
7981

80-
impl<'a, I: Interface<K, V>, K: Copy, V: Copy, A: Read + Write> Reg<'a, I, K, V, A> {
82+
impl<'a, I: Interface<K, V>, K: Copy, V, A: Read + Write> Reg<'a, I, K, V, A> {
8183
#[inline(always)]
8284
pub fn modify<R>(&mut self, f: impl FnOnce(&mut V) -> R) -> Result<R, I::Error> {
8385
let mut val = self.read()?;

0 commit comments

Comments
 (0)