aboutsummaryrefslogtreecommitdiff
path: root/testsuite/fail_compilation
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-08-28 02:39:42 +0200
committerEugen Wissner <belka@caraus.de>2026-08-28 02:39:42 +0200
commit8e655a0786aec5e0215e09f2a9629c6f32e34793 (patch)
tree0788634cf66fed9c1a1d264b5b8c30da49380559 /testsuite/fail_compilation
parent4d4537866690a1ef3d882f5e9a6e01d8220a3650 (diff)
downloadelna-8e655a0786aec5e0215e09f2a9629c6f32e34793.tar.gz
Reject declarations shadowing imports
Diffstat (limited to 'testsuite/fail_compilation')
-rw-r--r--testsuite/fail_compilation/import_local_collision/helper.elna6
-rw-r--r--testsuite/fail_compilation/import_local_collision/sut.elna7
-rw-r--r--testsuite/fail_compilation/record_duplicate_field.elna8
-rw-r--r--testsuite/fail_compilation/record_duplicate_field_import_base/helper.elna7
-rw-r--r--testsuite/fail_compilation/record_duplicate_field_import_base/sut.elna10
-rw-r--r--testsuite/fail_compilation/redefined_variable.elna6
6 files changed, 44 insertions, 0 deletions
diff --git a/testsuite/fail_compilation/import_local_collision/helper.elna b/testsuite/fail_compilation/import_local_collision/helper.elna
new file mode 100644
index 0000000..d6e3712
--- /dev/null
+++ b/testsuite/fail_compilation/import_local_collision/helper.elna
@@ -0,0 +1,6 @@
+var
+ X*: Int
+
+begin
+ X := 1
+end.
diff --git a/testsuite/fail_compilation/import_local_collision/sut.elna b/testsuite/fail_compilation/import_local_collision/sut.elna
new file mode 100644
index 0000000..a9de9c9
--- /dev/null
+++ b/testsuite/fail_compilation/import_local_collision/sut.elna
@@ -0,0 +1,7 @@
+import helper
+
+var
+ X: Int (* @Error Symbol 'X' has been already defined *)
+
+begin
+end.
diff --git a/testsuite/fail_compilation/record_duplicate_field.elna b/testsuite/fail_compilation/record_duplicate_field.elna
new file mode 100644
index 0000000..b98f990
--- /dev/null
+++ b/testsuite/fail_compilation/record_duplicate_field.elna
@@ -0,0 +1,8 @@
+type
+ R = record
+ x: Int;
+ x: Int (* @Error Record already has a field named 'x' *)
+ end
+
+begin
+end.
diff --git a/testsuite/fail_compilation/record_duplicate_field_import_base/helper.elna b/testsuite/fail_compilation/record_duplicate_field_import_base/helper.elna
new file mode 100644
index 0000000..0edb965
--- /dev/null
+++ b/testsuite/fail_compilation/record_duplicate_field_import_base/helper.elna
@@ -0,0 +1,7 @@
+type
+ Parent* = record
+ x: Int;
+ y: Int
+ end
+
+end.
diff --git a/testsuite/fail_compilation/record_duplicate_field_import_base/sut.elna b/testsuite/fail_compilation/record_duplicate_field_import_base/sut.elna
new file mode 100644
index 0000000..7530017
--- /dev/null
+++ b/testsuite/fail_compilation/record_duplicate_field_import_base/sut.elna
@@ -0,0 +1,10 @@
+import helper
+
+type
+ Child = record(Parent)
+ x: Int (* @Error Record already has a field named 'x' \(defined in base type 'Parent'\) *);
+ z: Int
+ end
+
+begin
+end.
diff --git a/testsuite/fail_compilation/redefined_variable.elna b/testsuite/fail_compilation/redefined_variable.elna
new file mode 100644
index 0000000..9cf8c24
--- /dev/null
+++ b/testsuite/fail_compilation/redefined_variable.elna
@@ -0,0 +1,6 @@
+var
+ x: Int
+ x: Int (* @Error Symbol 'x' has been already defined *)
+
+begin
+end.