Fix duplication of error messages

Before:

    ```
    cxxbridge: No such file or directory (os error 2)

    Caused by:
        No such file or directory (os error 2)
    ```
diff --git a/gen/src/error.rs b/gen/src/error.rs
index 1cedab1..d8badac 100644
--- a/gen/src/error.rs
+++ b/gen/src/error.rs
@@ -33,8 +33,8 @@
 impl StdError for Error {
     fn source(&self) -> Option<&(dyn StdError + 'static)> {
         match self {
-            Error::Io(err) => Some(err),
-            Error::Syn(err) => Some(err),
+            Error::Io(err) => err.source(),
+            Error::Syn(err) => err.source(),
             _ => None,
         }
     }