From 86508a3ad59a0bfc1e24448d0a0126b1a1c645e1 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Thu, 20 Feb 2020 18:52:34 +0000 Subject: Add support for duplicate record fields --- dhall/tests/parser/failure/spacing/MergeNoSpace2.txt | 2 +- dhall/tests/parser/failure/spacing/RecordTypeNoSpace.txt | 6 +++--- .../tests/type-inference/failure/unit/RecordLitDuplicateFields.txt | 6 ------ .../failure/unit/RecordLitDuplicateFieldsAbstract.txt | 1 + .../failure/unit/RecordLitDuplicateFieldsCollidingRecords.txt | 1 + .../failure/unit/RecordLitDuplicateFieldsNotRecords.txt | 1 + 6 files changed, 7 insertions(+), 10 deletions(-) delete mode 100644 dhall/tests/type-inference/failure/unit/RecordLitDuplicateFields.txt create mode 100644 dhall/tests/type-inference/failure/unit/RecordLitDuplicateFieldsAbstract.txt create mode 100644 dhall/tests/type-inference/failure/unit/RecordLitDuplicateFieldsCollidingRecords.txt create mode 100644 dhall/tests/type-inference/failure/unit/RecordLitDuplicateFieldsNotRecords.txt (limited to 'dhall/tests') diff --git a/dhall/tests/parser/failure/spacing/MergeNoSpace2.txt b/dhall/tests/parser/failure/spacing/MergeNoSpace2.txt index 96d937b..77314e0 100644 --- a/dhall/tests/parser/failure/spacing/MergeNoSpace2.txt +++ b/dhall/tests/parser/failure/spacing/MergeNoSpace2.txt @@ -3,4 +3,4 @@ 1 | merge x(y)␊ | ^--- | - = expected missing, double_quote_literal, single_quote_literal, if_, merge, non_empty_list_literal, NaN, Some_, toMap, assert, forall, numeric_double_literal, minus_infinity_literal, plus_infinity_literal, natural_literal, integer_literal, or import_hashed + = expected missing, non_empty_list_literal, double_quote_literal, single_quote_literal, if_, merge, NaN, Some_, toMap, assert, forall, numeric_double_literal, minus_infinity_literal, plus_infinity_literal, natural_literal, integer_literal, or import_hashed diff --git a/dhall/tests/parser/failure/spacing/RecordTypeNoSpace.txt b/dhall/tests/parser/failure/spacing/RecordTypeNoSpace.txt index beca670..f6427a4 100644 --- a/dhall/tests/parser/failure/spacing/RecordTypeNoSpace.txt +++ b/dhall/tests/parser/failure/spacing/RecordTypeNoSpace.txt @@ -1,6 +1,6 @@ - --> 1:5 + --> 1:3 | 1 | { x :T }␊ - | ^--- + | ^--- | - = expected non_empty_record_literal or non_empty_record_type + = expected non_empty_record_type_or_literal or empty_record_literal diff --git a/dhall/tests/type-inference/failure/unit/RecordLitDuplicateFields.txt b/dhall/tests/type-inference/failure/unit/RecordLitDuplicateFields.txt deleted file mode 100644 index 608c6a0..0000000 --- a/dhall/tests/type-inference/failure/unit/RecordLitDuplicateFields.txt +++ /dev/null @@ -1,6 +0,0 @@ -Type error: error: RecordTypeDuplicateField - --> :1:0 - | -1 | { x = 0, x = 0 } - | ^^^^^^^^^^^^^^^^ RecordTypeDuplicateField - | diff --git a/dhall/tests/type-inference/failure/unit/RecordLitDuplicateFieldsAbstract.txt b/dhall/tests/type-inference/failure/unit/RecordLitDuplicateFieldsAbstract.txt new file mode 100644 index 0000000..f74e839 --- /dev/null +++ b/dhall/tests/type-inference/failure/unit/RecordLitDuplicateFieldsAbstract.txt @@ -0,0 +1 @@ +Type error: error: RecordTypeMergeRequiresRecordType diff --git a/dhall/tests/type-inference/failure/unit/RecordLitDuplicateFieldsCollidingRecords.txt b/dhall/tests/type-inference/failure/unit/RecordLitDuplicateFieldsCollidingRecords.txt new file mode 100644 index 0000000..f74e839 --- /dev/null +++ b/dhall/tests/type-inference/failure/unit/RecordLitDuplicateFieldsCollidingRecords.txt @@ -0,0 +1 @@ +Type error: error: RecordTypeMergeRequiresRecordType diff --git a/dhall/tests/type-inference/failure/unit/RecordLitDuplicateFieldsNotRecords.txt b/dhall/tests/type-inference/failure/unit/RecordLitDuplicateFieldsNotRecords.txt new file mode 100644 index 0000000..f74e839 --- /dev/null +++ b/dhall/tests/type-inference/failure/unit/RecordLitDuplicateFieldsNotRecords.txt @@ -0,0 +1 @@ +Type error: error: RecordTypeMergeRequiresRecordType -- cgit v1.2.3 From 0e07c9cd012efaeae7e1c50a3499a13aef4d2b61 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Thu, 20 Feb 2020 18:54:58 +0000 Subject: Disallow Natural literals with leading zeros --- dhall/tests/parser/failure/unit/NaturalLitLeadingZero.txt | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 dhall/tests/parser/failure/unit/NaturalLitLeadingZero.txt (limited to 'dhall/tests') diff --git a/dhall/tests/parser/failure/unit/NaturalLitLeadingZero.txt b/dhall/tests/parser/failure/unit/NaturalLitLeadingZero.txt new file mode 100644 index 0000000..07d9b5c --- /dev/null +++ b/dhall/tests/parser/failure/unit/NaturalLitLeadingZero.txt @@ -0,0 +1,6 @@ + --> 1:2 + | +1 | 042␊ + | ^--- + | + = expected EOI, import_alt, bool_or, natural_plus, text_append, list_append, bool_and, natural_times, bool_eq, bool_ne, combine, combine_types, equivalent, prefer, or arrow -- cgit v1.2.3 From 6642077368497583113d685d351ec93d230ffcad Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Thu, 20 Feb 2020 19:04:13 +0000 Subject: Add support for dotted field syntax --- dhall/tests/parser/failure/spacing/MergeNoSpace2.txt | 2 +- dhall/tests/parser/failure/spacing/RecordTypeNoSpace.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'dhall/tests') diff --git a/dhall/tests/parser/failure/spacing/MergeNoSpace2.txt b/dhall/tests/parser/failure/spacing/MergeNoSpace2.txt index 77314e0..96d937b 100644 --- a/dhall/tests/parser/failure/spacing/MergeNoSpace2.txt +++ b/dhall/tests/parser/failure/spacing/MergeNoSpace2.txt @@ -3,4 +3,4 @@ 1 | merge x(y)␊ | ^--- | - = expected missing, non_empty_list_literal, double_quote_literal, single_quote_literal, if_, merge, NaN, Some_, toMap, assert, forall, numeric_double_literal, minus_infinity_literal, plus_infinity_literal, natural_literal, integer_literal, or import_hashed + = expected missing, double_quote_literal, single_quote_literal, if_, merge, non_empty_list_literal, NaN, Some_, toMap, assert, forall, numeric_double_literal, minus_infinity_literal, plus_infinity_literal, natural_literal, integer_literal, or import_hashed diff --git a/dhall/tests/parser/failure/spacing/RecordTypeNoSpace.txt b/dhall/tests/parser/failure/spacing/RecordTypeNoSpace.txt index f6427a4..9c1eaef 100644 --- a/dhall/tests/parser/failure/spacing/RecordTypeNoSpace.txt +++ b/dhall/tests/parser/failure/spacing/RecordTypeNoSpace.txt @@ -3,4 +3,4 @@ 1 | { x :T }␊ | ^--- | - = expected non_empty_record_type_or_literal or empty_record_literal + = expected empty_record_literal or non_empty_record_type_or_literal -- cgit v1.2.3