@@ -108,24 +108,41 @@ pub enum IoCases {
108
108
pub enum GetError {
109
109
/// Hash not found, or a requested chunk for the hash not found.
110
110
#[ snafu( display( "Data for hash not found" ) ) ]
111
- NotFound { source : NotFoundCases } ,
111
+ NotFound {
112
+ #[ snafu( source( from( NotFoundCases , Box :: new) ) ) ]
113
+ source : Box < NotFoundCases > ,
114
+ } ,
112
115
/// Remote has reset the connection.
113
116
#[ snafu( display( "Remote has reset the connection" ) ) ]
114
- RemoteReset { source : RemoteResetCases } ,
117
+ RemoteReset {
118
+ #[ snafu( source( from( RemoteResetCases , Box :: new) ) ) ]
119
+ source : Box < RemoteResetCases > ,
120
+ } ,
115
121
/// Remote behaved in a non-compliant way.
116
122
#[ snafu( display( "Remote behaved in a non-compliant way" ) ) ]
117
- NoncompliantNode { source : NoncompliantNodeCases } ,
123
+ NoncompliantNode {
124
+ #[ snafu( source( from( NoncompliantNodeCases , Box :: new) ) ) ]
125
+ source : Box < NoncompliantNodeCases > ,
126
+ } ,
118
127
119
128
/// Network or IO operation failed.
120
129
#[ snafu( display( "A network or IO operation failed" ) ) ]
121
- Io { source : IoCases } ,
122
-
130
+ Io {
131
+ #[ snafu( source( from( IoCases , Box :: new) ) ) ]
132
+ source : Box < IoCases > ,
133
+ } ,
123
134
/// Our download request is invalid.
124
135
#[ snafu( display( "Our download request is invalid" ) ) ]
125
- BadRequest { source : BadRequestCases } ,
136
+ BadRequest {
137
+ #[ snafu( source( from( BadRequestCases , Box :: new) ) ) ]
138
+ source : Box < BadRequestCases > ,
139
+ } ,
126
140
/// Operation failed on the local node.
127
141
#[ snafu( display( "Operation failed on the local node" ) ) ]
128
- LocalFailure { source : LocalFailureCases } ,
142
+ LocalFailure {
143
+ #[ snafu( source( from( LocalFailureCases , Box :: new) ) ) ]
144
+ source : Box < LocalFailureCases > ,
145
+ } ,
129
146
}
130
147
131
148
pub type GetResult < T > = std:: result:: Result < T , GetError > ;
0 commit comments