@@ -8,7 +8,8 @@ use plotnik_lib::Colors;
88use plotnik_lib:: QueryBuilder ;
99
1010use plotnik_lib:: engine:: {
11- FuelLimits , Materializer , PrintTracer , RuntimeError , ValueMaterializer , Verbosity , VM ,
11+ debug_verify_type, FuelLimits , Materializer , PrintTracer , RuntimeError , ValueMaterializer ,
12+ Verbosity , VM ,
1213} ;
1314
1415use super :: query_loader:: load_query_source;
@@ -38,14 +39,14 @@ pub fn run(args: TraceArgs) {
3839 std:: process:: exit ( 1 ) ;
3940 }
4041
41- let source_map =
42- match load_query_source ( args . query_path . as_deref ( ) , args . query_text . as_deref ( ) ) {
43- Ok ( map) => map,
44- Err ( msg) => {
45- eprintln ! ( "error: {}" , msg) ;
46- std:: process:: exit ( 1 ) ;
47- }
48- } ;
42+ let source_map = match load_query_source ( args . query_path . as_deref ( ) , args . query_text . as_deref ( ) )
43+ {
44+ Ok ( map) => map,
45+ Err ( msg) => {
46+ eprintln ! ( "error: {}" , msg) ;
47+ std:: process:: exit ( 1 ) ;
48+ }
49+ } ;
4950
5051 if source_map. is_empty ( ) {
5152 eprintln ! ( "error: query cannot be empty" ) ;
@@ -116,6 +117,9 @@ pub fn run(args: TraceArgs) {
116117 let materializer = ValueMaterializer :: new ( & source_code, module. types ( ) , module. strings ( ) ) ;
117118 let value = materializer. materialize ( effects. as_slice ( ) , entrypoint. result_type ) ;
118119
120+ // Debug-only: verify output matches declared type
121+ debug_verify_type ( & value, & module, colors) ;
122+
119123 let output = value. format ( true , colors) ;
120124 println ! ( "{}" , output) ;
121125}
0 commit comments