From 0d39797dc0d787c8dde695a2c0ac1262fedc77cb Mon Sep 17 00:00:00 2001 From: Sean McArthur Date: Tue, 5 Mar 2019 19:33:22 -0800 Subject: [PATCH] libstd: implement Error::source for io::Error --- src/libstd/io/error.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/libstd/io/error.rs b/src/libstd/io/error.rs index fdc5625ff1841..614b79124cc68 100644 --- a/src/libstd/io/error.rs +++ b/src/libstd/io/error.rs @@ -556,6 +556,14 @@ impl error::Error for Error { Repr::Custom(ref c) => c.error.cause(), } } + + fn source(&self) -> Option<&(dyn error::Error + 'static)> { + match self.repr { + Repr::Os(..) => None, + Repr::Simple(..) => None, + Repr::Custom(ref c) => c.error.source(), + } + } } fn _assert_error_is_sync_send() {