+ if (!psi_number_validate(data, exp->data.n, scope)) {
+ smart_str str = {0};
+ struct psi_dump dump = {{.hn = &str},
+ .fun = (psi_dump_cb) psi_smart_str_printf};
+
+ psi_num_exp_dump(&dump, exp);
+ smart_str_0(&str);
+ data->error(data, exp->token, PSI_WARNING,
+ "Invalid numeric expression: '%s'",
+ str.s->val);
+ return false;
+ }
+ return true;