From 693d714b2c41c60479bba0f6b0373480133c474b Mon Sep 17 00:00:00 2001
From: Alan Schmitt <alan.schmitt@polytechnique.org>
Date: Wed, 3 Feb 2016 09:31:40 +0100
Subject: [PATCH] better error messages for unsupported let bindings

---
 generator/js_of_ast.ml | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/generator/js_of_ast.ml b/generator/js_of_ast.ml
index b9ecb2e..7e5e4fa 100644
--- a/generator/js_of_ast.ml
+++ b/generator/js_of_ast.ml
@@ -654,8 +654,16 @@ and js_of_let_pattern ctx pat expr =
   let id = 
     match pat.pat_desc with
     | Tpat_var (id, _) -> ppf_ident id
-    | _ -> 
-      Printf.printf "warning: unsupported let-record\n"; ""
+    | Tpat_any -> Printf.printf "warning: unsupported let-any\n"; ""
+    | Tpat_alias _ -> Printf.printf "warning: unsupported let-alias\n"; ""
+    | Tpat_constant _ -> Printf.printf "warning: unsupported let-constant\n"; ""
+    | Tpat_tuple _ -> Printf.printf "warning: unsupported let-tuple\n"; ""
+    | Tpat_construct _ -> Printf.printf "warning: unsupported let-construct\n"; ""
+    | Tpat_variant _ -> Printf.printf "warning: unsupported let-variant\n"; ""
+    | Tpat_record _ -> Printf.printf "warning: unsupported let-record\n"; ""
+    | Tpat_array _ -> Printf.printf "warning: unsupported let-array\n"; ""
+    | Tpat_or _ -> Printf.printf "warning: unsupported let-or\n"; ""
+    | Tpat_lazy _ -> Printf.printf "warning: unsupported let-lazy\n"; ""
       (*  error ~loc:pat.pat_loc "let can't deconstruct values"  *)
     in
   (id, js_of_expression ctx (Dest_assign id) expr)
-- 
GitLab