lambda-list: enforce unique names among required parameters
authorDaniel Kochmański <daniel@turtleware.eu>
Mon, 17 Aug 2015 10:57:25 +0000 (12:57 +0200)
committerDaniel Kochmański <daniel@turtleware.eu>
Mon, 17 Aug 2015 10:57:25 +0000 (12:57 +0200)
Signal an error, if two required parameters have the same name.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
src/c/compiler.d

index c676824..9fd80be 100644 (file)
@@ -2808,6 +2808,10 @@ REST:           unlikely_if (stage >= AT_REST)
         case AT_REQUIREDS:
                 nreq++;
                 assert_var_name(v);
+                if (ecl_member_eq(v, lists[0]))
+                        FEprogram_error_noreturn
+                                ("The variable ~s occurs more than once as the "
+                                 "required parameter in the lambda list.", 1, v);
                 push(v, reqs);
                 break;
         case AT_OPTIONALS: {