From 0691222ca782a7231181b3b6a5e0049b64928fa7 Mon Sep 17 00:00:00 2001 From: Pedro Castro Date: Thu, 9 Mar 2023 18:29:02 -0300 Subject: [PATCH 1/2] better error message for extension point --- jscomp/frontend/ast_exp_handle_external.ml | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/jscomp/frontend/ast_exp_handle_external.ml b/jscomp/frontend/ast_exp_handle_external.ml index e6a711c17e..6d34722b10 100644 --- a/jscomp/frontend/ast_exp_handle_external.ml +++ b/jscomp/frontend/ast_exp_handle_external.ml @@ -69,12 +69,23 @@ let handle_debugger loc (payload : Ast_payload.t) = Ast_external_mk.local_external_apply loc ~pval_prim:[ "#debugger" ] ~pval_type:(Typ.arrow Nolabel (Typ.any ()) (Ast_literal.type_unit ())) [ Ast_literal.val_unit ~loc () ] - | _ -> Location.raise_errorf ~loc "bs.debugger does not accept payload" + | _ -> + Location.raise_errorf ~loc "%%debugger extension doesn't accept arguments" let handle_raw ~kind loc payload = let is_function = ref false in match Ast_payload.raw_as_string_exp_exn ~kind ~is_function payload with - | None -> Location.raise_errorf ~loc "bs.raw can only be applied to a string" + | None -> ( + match kind with + | Raw_re -> + Location.raise_errorf ~loc + "%%re extension can only be applied to a string" + | Raw_exp -> + Location.raise_errorf ~loc + "%%raw extension can only be applied to a string" + | Raw_program -> + Location.raise_errorf ~loc + "%%%%raw extension can only be applied to a string") | Some exp -> { exp with @@ -99,4 +110,6 @@ let handle_raw_structure loc payload = ~pval_type:(Typ.arrow Nolabel (Typ.any ()) (Typ.any ())) [ exp ]; } - | None -> Location.raise_errorf ~loc "bs.raw can only be applied to a string" + | None -> + Location.raise_errorf ~loc + "%%%%raw extension can only be applied to a string" From 53e3745be1a91c083337eeeb75e4a23c6bf73849 Mon Sep 17 00:00:00 2001 From: Pedro Castro Date: Thu, 9 Mar 2023 18:50:27 -0300 Subject: [PATCH 2/2] update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ad3f48d3a..d587bb43f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ #### :rocket: New Feature - Add support for toplevel `await` https://github.com/rescript-lang/rescript-compiler/pull/6054 +#### :nail_care: Polish + +- Better error message for extension point https://github.com/rescript-lang/rescript-compiler/pull/6057 + # 10.1.3 #### :rocket: New Feature