@@ -67,14 +67,14 @@ impl DbErrorNew for DbError {
67
67
68
68
fn new_connect < T > ( fields : Vec < ( u8 , String ) > ) -> result:: Result < T , ConnectError > {
69
69
match DbError :: new_raw ( fields) {
70
- Ok ( err) => Err ( ConnectError :: DbError ( err) ) ,
70
+ Ok ( err) => Err ( ConnectError :: DbError ( Box :: new ( err) ) ) ,
71
71
Err ( ( ) ) => Err ( ConnectError :: IoError ( :: bad_response ( ) ) ) ,
72
72
}
73
73
}
74
74
75
75
fn new < T > ( fields : Vec < ( u8 , String ) > ) -> Result < T > {
76
76
match DbError :: new_raw ( fields) {
77
- Ok ( err) => Err ( Error :: DbError ( err) ) ,
77
+ Ok ( err) => Err ( Error :: DbError ( Box :: new ( err) ) ) ,
78
78
Err ( ( ) ) => Err ( Error :: IoError ( :: bad_response ( ) ) ) ,
79
79
}
80
80
}
@@ -198,7 +198,7 @@ pub enum ConnectError {
198
198
/// The URL was missing a user.
199
199
MissingUser ,
200
200
/// An error from the Postgres server itself.
201
- DbError ( DbError ) ,
201
+ DbError ( Box < DbError > ) ,
202
202
/// A password was required but not provided in the URL.
203
203
MissingPassword ,
204
204
/// The Postgres server requested an authentication method not supported
@@ -244,7 +244,7 @@ impl error::Error for ConnectError {
244
244
fn cause ( & self ) -> Option < & error:: Error > {
245
245
match * self {
246
246
ConnectError :: BadConnectParams ( ref err) => Some ( & * * err) ,
247
- ConnectError :: DbError ( ref err) => Some ( err) ,
247
+ ConnectError :: DbError ( ref err) => Some ( & * * err) ,
248
248
ConnectError :: SslError ( ref err) => Some ( & * * err) ,
249
249
ConnectError :: IoError ( ref err) => Some ( err) ,
250
250
_ => None
@@ -260,7 +260,7 @@ impl From<io::Error> for ConnectError {
260
260
261
261
impl From < DbError > for ConnectError {
262
262
fn from ( err : DbError ) -> ConnectError {
263
- ConnectError :: DbError ( err)
263
+ ConnectError :: DbError ( Box :: new ( err) )
264
264
}
265
265
}
266
266
@@ -288,7 +288,7 @@ pub enum ErrorPosition {
288
288
#[ derive( Debug ) ]
289
289
pub enum Error {
290
290
/// An error reported by the Postgres server.
291
- DbError ( DbError ) ,
291
+ DbError ( Box < DbError > ) ,
292
292
/// An error communicating with the Postgres server.
293
293
IoError ( io:: Error ) ,
294
294
/// An attempt was made to convert between incompatible Rust and Postgres
@@ -326,7 +326,7 @@ impl error::Error for Error {
326
326
327
327
fn cause ( & self ) -> Option < & error:: Error > {
328
328
match * self {
329
- Error :: DbError ( ref err) => Some ( err) ,
329
+ Error :: DbError ( ref err) => Some ( & * * err) ,
330
330
Error :: IoError ( ref err) => Some ( err) ,
331
331
Error :: Conversion ( ref err) => Some ( & * * err) ,
332
332
_ => None
@@ -336,7 +336,7 @@ impl error::Error for Error {
336
336
337
337
impl From < DbError > for Error {
338
338
fn from ( err : DbError ) -> Error {
339
- Error :: DbError ( err)
339
+ Error :: DbError ( Box :: new ( err) )
340
340
}
341
341
}
342
342
0 commit comments