From 8e655a0786aec5e0215e09f2a9629c6f32e34793 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Fri, 28 Aug 2026 02:39:42 +0200 Subject: Reject declarations shadowing imports --- testsuite/fail_compilation/import_local_collision/helper.elna | 6 ++++++ testsuite/fail_compilation/import_local_collision/sut.elna | 7 +++++++ testsuite/fail_compilation/record_duplicate_field.elna | 8 ++++++++ .../record_duplicate_field_import_base/helper.elna | 7 +++++++ .../record_duplicate_field_import_base/sut.elna | 10 ++++++++++ testsuite/fail_compilation/redefined_variable.elna | 6 ++++++ 6 files changed, 44 insertions(+) create mode 100644 testsuite/fail_compilation/import_local_collision/helper.elna create mode 100644 testsuite/fail_compilation/import_local_collision/sut.elna create mode 100644 testsuite/fail_compilation/record_duplicate_field.elna create mode 100644 testsuite/fail_compilation/record_duplicate_field_import_base/helper.elna create mode 100644 testsuite/fail_compilation/record_duplicate_field_import_base/sut.elna create mode 100644 testsuite/fail_compilation/redefined_variable.elna (limited to 'testsuite/fail_compilation') 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. -- cgit v1.2.3