@@ -53,21 +53,23 @@ impl<'a, I, K: Copy, V, A: Access> Reg<'a, I, K, V, A> {
53
53
}
54
54
}
55
55
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 > {
57
57
#[ inline( always) ]
58
58
pub fn read ( & mut self ) -> Result < V , I :: Error > {
59
59
self . iface . read ( self . addr )
60
60
}
61
61
}
62
62
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 > {
64
64
#[ inline( always) ]
65
65
pub fn write_value ( & mut self , val : V ) -> Result < ( ) , I :: Error > {
66
66
self . iface . write ( self . addr , val)
67
67
}
68
68
}
69
69
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
+ {
71
73
#[ inline( always) ]
72
74
pub fn write < R > ( & mut self , f : impl FnOnce ( & mut V ) -> R ) -> Result < R , I :: Error > {
73
75
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,
77
79
}
78
80
}
79
81
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 > {
81
83
#[ inline( always) ]
82
84
pub fn modify < R > ( & mut self , f : impl FnOnce ( & mut V ) -> R ) -> Result < R , I :: Error > {
83
85
let mut val = self . read ( ) ?;
0 commit comments