@@ -55,11 +55,11 @@ pub trait ErrorType {
55
55
type Error : Error ;
56
56
}
57
57
58
- impl < T : ErrorType > ErrorType for & T {
58
+ impl < T : ErrorType + ? Sized > ErrorType for & T {
59
59
type Error = T :: Error ;
60
60
}
61
61
62
- impl < T : ErrorType > ErrorType for & mut T {
62
+ impl < T : ErrorType + ? Sized > ErrorType for & mut T {
63
63
type Error = T :: Error ;
64
64
}
65
65
@@ -139,7 +139,7 @@ pub trait OutputPin: ErrorType {
139
139
}
140
140
}
141
141
142
- impl < T : OutputPin > OutputPin for & mut T {
142
+ impl < T : OutputPin + ? Sized > OutputPin for & mut T {
143
143
fn set_low ( & mut self ) -> Result < ( ) , Self :: Error > {
144
144
T :: set_low ( self )
145
145
}
@@ -166,7 +166,7 @@ pub trait StatefulOutputPin: OutputPin {
166
166
fn is_set_low ( & self ) -> Result < bool , Self :: Error > ;
167
167
}
168
168
169
- impl < T : StatefulOutputPin > StatefulOutputPin for & mut T {
169
+ impl < T : StatefulOutputPin + ? Sized > StatefulOutputPin for & mut T {
170
170
fn is_set_high ( & self ) -> Result < bool , Self :: Error > {
171
171
T :: is_set_high ( self )
172
172
}
@@ -182,7 +182,7 @@ pub trait ToggleableOutputPin: ErrorType {
182
182
fn toggle ( & mut self ) -> Result < ( ) , Self :: Error > ;
183
183
}
184
184
185
- impl < T : ToggleableOutputPin > ToggleableOutputPin for & mut T {
185
+ impl < T : ToggleableOutputPin + ? Sized > ToggleableOutputPin for & mut T {
186
186
fn toggle ( & mut self ) -> Result < ( ) , Self :: Error > {
187
187
T :: toggle ( self )
188
188
}
@@ -197,7 +197,7 @@ pub trait InputPin: ErrorType {
197
197
fn is_low ( & self ) -> Result < bool , Self :: Error > ;
198
198
}
199
199
200
- impl < T : InputPin > InputPin for & T {
200
+ impl < T : InputPin + ? Sized > InputPin for & T {
201
201
fn is_high ( & self ) -> Result < bool , Self :: Error > {
202
202
T :: is_high ( self )
203
203
}
0 commit comments