@@ -55,11 +55,11 @@ pub trait ErrorType {
5555 type Error : Error ;
5656}
5757
58- impl < T : ErrorType > ErrorType for & T {
58+ impl < T : ErrorType + ? Sized > ErrorType for & T {
5959 type Error = T :: Error ;
6060}
6161
62- impl < T : ErrorType > ErrorType for & mut T {
62+ impl < T : ErrorType + ? Sized > ErrorType for & mut T {
6363 type Error = T :: Error ;
6464}
6565
@@ -139,7 +139,7 @@ pub trait OutputPin: ErrorType {
139139 }
140140}
141141
142- impl < T : OutputPin > OutputPin for & mut T {
142+ impl < T : OutputPin + ? Sized > OutputPin for & mut T {
143143 fn set_low ( & mut self ) -> Result < ( ) , Self :: Error > {
144144 T :: set_low ( self )
145145 }
@@ -166,7 +166,7 @@ pub trait StatefulOutputPin: OutputPin {
166166 fn is_set_low ( & self ) -> Result < bool , Self :: Error > ;
167167}
168168
169- impl < T : StatefulOutputPin > StatefulOutputPin for & mut T {
169+ impl < T : StatefulOutputPin + ? Sized > StatefulOutputPin for & mut T {
170170 fn is_set_high ( & self ) -> Result < bool , Self :: Error > {
171171 T :: is_set_high ( self )
172172 }
@@ -182,7 +182,7 @@ pub trait ToggleableOutputPin: ErrorType {
182182 fn toggle ( & mut self ) -> Result < ( ) , Self :: Error > ;
183183}
184184
185- impl < T : ToggleableOutputPin > ToggleableOutputPin for & mut T {
185+ impl < T : ToggleableOutputPin + ? Sized > ToggleableOutputPin for & mut T {
186186 fn toggle ( & mut self ) -> Result < ( ) , Self :: Error > {
187187 T :: toggle ( self )
188188 }
@@ -197,7 +197,7 @@ pub trait InputPin: ErrorType {
197197 fn is_low ( & self ) -> Result < bool , Self :: Error > ;
198198}
199199
200- impl < T : InputPin > InputPin for & T {
200+ impl < T : InputPin + ? Sized > InputPin for & T {
201201 fn is_high ( & self ) -> Result < bool , Self :: Error > {
202202 T :: is_high ( self )
203203 }
0 commit comments