@@ -147,12 +147,12 @@ pub fn read_described_envelope(
147147 reader : impl BufRead ,
148148 registry : & ExtensionRegistry ,
149149) -> Result < ( PackageDesc , Package ) , ReadError > {
150- let reader = EnvelopeReader :: new ( reader, registry) ?;
150+ let reader = EnvelopeReader :: new ( reader, registry) . map_err ( Box :: new ) ?;
151151 let ( desc, res) = reader. read ( ) ;
152152 match res {
153153 Ok ( pkg) => Ok ( ( desc, pkg) ) ,
154154 Err ( e) => Err ( ReadError :: Payload {
155- source : e ,
155+ source : Box :: new ( e ) ,
156156 partial_description : desc,
157157 } ) ,
158158 }
@@ -163,12 +163,12 @@ pub fn read_described_envelope(
163163pub enum ReadError {
164164 /// Error reading the envelope header.
165165 #[ error( transparent) ]
166- EnvelopeHeader ( #[ from] HeaderError ) ,
166+ EnvelopeHeader ( #[ from] Box < HeaderError > ) ,
167167 /// Error reading the package payload.
168168 #[ error( "Error reading package payload in envelope." ) ]
169169 Payload {
170170 /// The source error.
171- source : PayloadError ,
171+ source : Box < PayloadError > ,
172172 /// Partial description of the envelope read before the error occurred.
173173 partial_description : PackageDesc ,
174174 } ,
@@ -177,8 +177,8 @@ pub enum ReadError {
177177impl From < ReadError > for EnvelopeError {
178178 fn from ( err : ReadError ) -> Self {
179179 match err {
180- ReadError :: EnvelopeHeader ( e) => e . into ( ) ,
181- ReadError :: Payload { source, .. } => source. into ( ) ,
180+ ReadError :: EnvelopeHeader ( e) => ( * e ) . into ( ) ,
181+ ReadError :: Payload { source, .. } => ( * source) . into ( ) ,
182182 }
183183 }
184184}
0 commit comments