File tree Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -17,6 +17,14 @@ pub fn generate(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
17
17
. into ( )
18
18
}
19
19
20
+ fn anyhow_to_syn ( span : Span , err : anyhow:: Error ) -> Error {
21
+ let mut msg = err. to_string ( ) ;
22
+ for cause in err. chain ( ) . skip ( 1 ) {
23
+ msg. push_str ( & format ! ( "\n \n Caused by:\n {cause}" ) ) ;
24
+ }
25
+ Error :: new ( span, msg)
26
+ }
27
+
20
28
struct Config {
21
29
opts : Opts ,
22
30
resolve : Resolve ,
@@ -104,10 +112,10 @@ impl Parse for Config {
104
112
}
105
113
}
106
114
let ( resolve, pkg, files) =
107
- parse_source ( & source) . map_err ( |err| Error :: new ( call_site, format ! ( "{ err:?}" ) ) ) ?;
115
+ parse_source ( & source) . map_err ( |err| anyhow_to_syn ( call_site, err) ) ?;
108
116
let world = resolve
109
117
. select_world ( pkg, world. as_deref ( ) )
110
- . map_err ( |e| Error :: new ( call_site, format ! ( "{e:?}" ) ) ) ?;
118
+ . map_err ( |e| anyhow_to_syn ( call_site, e ) ) ?;
111
119
Ok ( Config {
112
120
opts,
113
121
resolve,
You can’t perform that action at this time.
0 commit comments