@@ -45,7 +45,7 @@ pub enum ConvError {
4545 #[ error( "not supported: {0:?}" ) ]
4646 NotSupported ( JsValue ) ,
4747 #[ error( "unexpected constant: {0:?}" ) ]
48- UnexpectedConst ( Constant ) ,
48+ UnexpectedConst ( Box < Constant > ) ,
4949 #[ error( "unexpected js value: {0:?}, expected {1}" ) ]
5050 UnexpectedJs ( JsValue , & ' static str ) ,
5151 #[ error( "IO error: {0}" ) ]
@@ -172,7 +172,7 @@ pub(crate) fn constant_to_js(c: Constant) -> Result<JsValue, ConvError> {
172172 }
173173 arr. into ( )
174174 }
175- _ => return Err ( ConvError :: UnexpectedConst ( c) ) ,
175+ _ => return Err ( ConvError :: UnexpectedConst ( c. into ( ) ) ) ,
176176 } ,
177177 SType :: STuple ( ref item_tpes) => {
178178 let vec: Vec < JsValue > = match c. v {
@@ -181,15 +181,15 @@ pub(crate) fn constant_to_js(c: Constant) -> Result<JsValue, ConvError> {
181181 . zip ( item_tpes. clone ( ) . items . into_iter ( ) )
182182 . map ( |( v, tpe) | constant_to_js ( Constant { tpe, v } ) )
183183 . collect :: < Result < Vec < JsValue > , _ > > ( ) ?,
184- _ => return Err ( ConvError :: UnexpectedConst ( c. clone ( ) ) ) ,
184+ _ => return Err ( ConvError :: UnexpectedConst ( c. clone ( ) . into ( ) ) ) ,
185185 } ;
186186 let arr = Array :: new ( ) ;
187187 for item in vec {
188188 arr. push ( & item) ;
189189 }
190190 arr. into ( )
191191 }
192- _ => return Err ( ConvError :: UnexpectedConst ( c. clone ( ) ) ) ,
192+ _ => return Err ( ConvError :: UnexpectedConst ( c. clone ( ) . into ( ) ) ) ,
193193 } )
194194}
195195
0 commit comments