summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorFlorian Angeletti <florian.angeletti@inria.fr>2023-03-24 16:45:01 +0100
committerGitHub <noreply@github.com>2023-03-24 16:45:01 +0100
commit5b7a3111573e3641bd01f3c112e199b7394e2244 (patch)
treef1f4d7b2c0f078e0981baec3a28e251061442f5b /testsuite
parentdbd36ae1a5f06a599434f2cca6261aacca4bdf91 (diff)
downloadocaml-5b7a3111573e3641bd01f3c112e199b7394e2244.tar.gz
parsetree: explicit type constraints for value bindings (#12119)
Add an explicit type constraint field to the Parsetree node for value bindings (`let p : typ = exp`).
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/tests/parsetree/locations_test.compilers.reference77
-rw-r--r--testsuite/tests/parsing/attributes.compilers.reference18
-rw-r--r--testsuite/tests/parsing/extensions.compilers.reference308
-rw-r--r--testsuite/tests/parsing/quotedextensions.compilers.reference68
-rw-r--r--testsuite/tests/typing-gadts/test.ml6
5 files changed, 219 insertions, 258 deletions
diff --git a/testsuite/tests/parsetree/locations_test.compilers.reference b/testsuite/tests/parsetree/locations_test.compilers.reference
index b5b89d7486..80cf4721d8 100644
--- a/testsuite/tests/parsetree/locations_test.compilers.reference
+++ b/testsuite/tests/parsetree/locations_test.compilers.reference
@@ -222,22 +222,13 @@ Ptop_def
Pstr_value Nonrec
[
<def>
- pattern (//toplevel//[4,29+4]..[4,29+11]) ghost
- Ppat_constraint
- pattern (//toplevel//[4,29+4]..[4,29+5])
- Ppat_var "x" (//toplevel//[4,29+4]..[4,29+5])
- core_type (//toplevel//[4,29+8]..[4,29+11]) ghost
- Ptyp_poly
- core_type (//toplevel//[4,29+8]..[4,29+11])
- Ptyp_constr "int" (//toplevel//[4,29+8]..[4,29+11])
- []
- expression (//toplevel//[4,29+4]..[4,29+15])
- Pexp_constraint
- expression (//toplevel//[4,29+14]..[4,29+15])
- Pexp_constant PConst_int (3,None)
- core_type (//toplevel//[4,29+8]..[4,29+11])
- Ptyp_constr "int" (//toplevel//[4,29+8]..[4,29+11])
- []
+ pattern (//toplevel//[4,29+4]..[4,29+5])
+ Ppat_var "x" (//toplevel//[4,29+4]..[4,29+5])
+ core_type (//toplevel//[4,29+8]..[4,29+11])
+ Ptyp_constr "int" (//toplevel//[4,29+8]..[4,29+11])
+ []
+ expression (//toplevel//[4,29+14]..[4,29+15])
+ Pexp_constant PConst_int (3,None)
]
]
@@ -248,40 +239,26 @@ Ptop_def
Pstr_value Nonrec
[
<def>
- pattern (//toplevel//[2,1+4]..[2,1+22]) ghost
- Ppat_constraint
- pattern (//toplevel//[2,1+4]..[2,1+5])
- Ppat_var "x" (//toplevel//[2,1+4]..[2,1+5])
- core_type (//toplevel//[2,1+4]..[2,1+35]) ghost
- Ptyp_poly 'a
- core_type (//toplevel//[2,1+16]..[2,1+22])
- Ptyp_arrow
- Nolabel
- core_type (//toplevel//[2,1+16]..[2,1+17])
- Ptyp_var a
- core_type (//toplevel//[2,1+21]..[2,1+22])
- Ptyp_var a
- expression (//toplevel//[2,1+4]..[2,1+35])
- Pexp_newtype "a"
- expression (//toplevel//[2,1+4]..[2,1+35])
- Pexp_constraint
- expression (//toplevel//[2,1+25]..[2,1+35])
- Pexp_fun
- Nolabel
- None
- pattern (//toplevel//[2,1+29]..[2,1+30])
- Ppat_var "x" (//toplevel//[2,1+29]..[2,1+30])
- expression (//toplevel//[2,1+34]..[2,1+35])
- Pexp_ident "x" (//toplevel//[2,1+34]..[2,1+35])
- core_type (//toplevel//[2,1+16]..[2,1+22])
- Ptyp_arrow
- Nolabel
- core_type (//toplevel//[2,1+16]..[2,1+17])
- Ptyp_constr "a" (//toplevel//[2,1+16]..[2,1+17])
- []
- core_type (//toplevel//[2,1+21]..[2,1+22])
- Ptyp_constr "a" (//toplevel//[2,1+21]..[2,1+22])
- []
+ pattern (//toplevel//[2,1+4]..[2,1+5])
+ Ppat_var "x" (//toplevel//[2,1+4]..[2,1+5])
+ <type> "a" (//toplevel//[2,1+13]..[2,1+14]).
+ core_type (//toplevel//[2,1+16]..[2,1+22])
+ Ptyp_arrow
+ Nolabel
+ core_type (//toplevel//[2,1+16]..[2,1+17])
+ Ptyp_constr "a" (//toplevel//[2,1+16]..[2,1+17])
+ []
+ core_type (//toplevel//[2,1+21]..[2,1+22])
+ Ptyp_constr "a" (//toplevel//[2,1+21]..[2,1+22])
+ []
+ expression (//toplevel//[2,1+25]..[2,1+35])
+ Pexp_fun
+ Nolabel
+ None
+ pattern (//toplevel//[2,1+29]..[2,1+30])
+ Ppat_var "x" (//toplevel//[2,1+29]..[2,1+30])
+ expression (//toplevel//[2,1+34]..[2,1+35])
+ Pexp_ident "x" (//toplevel//[2,1+34]..[2,1+35])
]
]
diff --git a/testsuite/tests/parsing/attributes.compilers.reference b/testsuite/tests/parsing/attributes.compilers.reference
index 4f22202730..956550354f 100644
--- a/testsuite/tests/parsing/attributes.compilers.reference
+++ b/testsuite/tests/parsing/attributes.compilers.reference
@@ -42,17 +42,15 @@
<def>
attribute "foo"
[]
- pattern (attributes.ml[14,206+4]..[14,206+27]) ghost
- Ppat_constraint
- pattern (attributes.ml[14,206+4]..[14,206+13])
- attribute "foo"
- []
- Ppat_var "x" (attributes.ml[14,206+5]..[14,206+6])
- core_type (attributes.ml[14,206+16]..[14,206+20])
- attribute "foo"
- []
- Ptyp_constr "unit" (attributes.ml[14,206+16]..[14,206+20])
+ pattern (attributes.ml[14,206+4]..[14,206+13])
+ attribute "foo"
+ []
+ Ppat_var "x" (attributes.ml[14,206+5]..[14,206+6])
+ core_type (attributes.ml[14,206+16]..[14,206+20])
+ attribute "foo"
[]
+ Ptyp_constr "unit" (attributes.ml[14,206+16]..[14,206+20])
+ []
expression (attributes.ml[14,206+30]..[14,206+32])
attribute "foo"
[]
diff --git a/testsuite/tests/parsing/extensions.compilers.reference b/testsuite/tests/parsing/extensions.compilers.reference
index 44172998ec..075a5167fe 100644
--- a/testsuite/tests/parsing/extensions.compilers.reference
+++ b/testsuite/tests/parsing/extensions.compilers.reference
@@ -20,39 +20,37 @@
Pstr_value Nonrec
[
<def>
- pattern (extensions.ml[10,176+4]..[10,176+31]) ghost
- Ppat_constraint
- pattern (extensions.ml[10,176+4]..[10,176+14])
- Ppat_extension "foo"
- [
- structure_item (extensions.ml[10,176+10]..[10,176+13])
- Pstr_eval
- expression (extensions.ml[10,176+10]..[10,176+13])
- Pexp_apply
- expression (extensions.ml[10,176+11]..[10,176+12])
- Pexp_ident "+" (extensions.ml[10,176+11]..[10,176+12])
- [
- <arg>
- Nolabel
- expression (extensions.ml[10,176+10]..[10,176+11])
- Pexp_constant PConst_int (2,None)
- <arg>
- Nolabel
- expression (extensions.ml[10,176+12]..[10,176+13])
- Pexp_constant PConst_int (1,None)
- ]
- ]
- core_type (extensions.ml[10,176+17]..[10,176+31])
- Ptyp_extension "foo"
- [
- structure_item (extensions.ml[10,176+23]..[10,176+30])
- Pstr_eval
- expression (extensions.ml[10,176+23]..[10,176+30])
- Pexp_field
- expression (extensions.ml[10,176+23]..[10,176+26])
- Pexp_ident "bar" (extensions.ml[10,176+23]..[10,176+26])
- "baz" (extensions.ml[10,176+27]..[10,176+30])
- ]
+ pattern (extensions.ml[10,176+4]..[10,176+14])
+ Ppat_extension "foo"
+ [
+ structure_item (extensions.ml[10,176+10]..[10,176+13])
+ Pstr_eval
+ expression (extensions.ml[10,176+10]..[10,176+13])
+ Pexp_apply
+ expression (extensions.ml[10,176+11]..[10,176+12])
+ Pexp_ident "+" (extensions.ml[10,176+11]..[10,176+12])
+ [
+ <arg>
+ Nolabel
+ expression (extensions.ml[10,176+10]..[10,176+11])
+ Pexp_constant PConst_int (2,None)
+ <arg>
+ Nolabel
+ expression (extensions.ml[10,176+12]..[10,176+13])
+ Pexp_constant PConst_int (1,None)
+ ]
+ ]
+ core_type (extensions.ml[10,176+17]..[10,176+31])
+ Ptyp_extension "foo"
+ [
+ structure_item (extensions.ml[10,176+23]..[10,176+30])
+ Pstr_eval
+ expression (extensions.ml[10,176+23]..[10,176+30])
+ Pexp_field
+ expression (extensions.ml[10,176+23]..[10,176+26])
+ Pexp_ident "bar" (extensions.ml[10,176+23]..[10,176+26])
+ "baz" (extensions.ml[10,176+27]..[10,176+30])
+ ]
expression (extensions.ml[10,176+34]..[10,176+46])
Pexp_extension "foo"
[
@@ -76,44 +74,42 @@
Pstr_value Nonrec
[
<def>
- pattern (extensions.ml[13,251+4]..[13,251+44]) ghost
- Ppat_constraint
- pattern (extensions.ml[13,251+4]..[13,251+23])
- Ppat_extension "foo"
- [
- structure_item (extensions.ml[13,251+10]..[13,251+21])
- Pstr_value Nonrec
- [
- <def>
- pattern (extensions.ml[13,251+14]..[13,251+16])
- Ppat_construct "()" (extensions.ml[13,251+14]..[13,251+16])
- None
- expression (extensions.ml[13,251+19]..[13,251+21])
- Pexp_construct "()" (extensions.ml[13,251+19]..[13,251+21])
- None
- ]
- ]
- core_type (extensions.ml[13,251+26]..[13,251+44])
- Ptyp_extension "foo"
- [
- structure_item (extensions.ml[13,251+32]..[13,251+42])
- Pstr_type Rec
- [
- type_declaration "t" (extensions.ml[13,251+37]..[13,251+38]) (extensions.ml[13,251+32]..[13,251+42])
- ptype_params =
- []
- ptype_cstrs =
- []
- ptype_kind =
- Ptype_abstract
- ptype_private = Public
- ptype_manifest =
- Some
- core_type (extensions.ml[13,251+41]..[13,251+42])
- Ptyp_constr "t" (extensions.ml[13,251+41]..[13,251+42])
- []
- ]
- ]
+ pattern (extensions.ml[13,251+4]..[13,251+23])
+ Ppat_extension "foo"
+ [
+ structure_item (extensions.ml[13,251+10]..[13,251+21])
+ Pstr_value Nonrec
+ [
+ <def>
+ pattern (extensions.ml[13,251+14]..[13,251+16])
+ Ppat_construct "()" (extensions.ml[13,251+14]..[13,251+16])
+ None
+ expression (extensions.ml[13,251+19]..[13,251+21])
+ Pexp_construct "()" (extensions.ml[13,251+19]..[13,251+21])
+ None
+ ]
+ ]
+ core_type (extensions.ml[13,251+26]..[13,251+44])
+ Ptyp_extension "foo"
+ [
+ structure_item (extensions.ml[13,251+32]..[13,251+42])
+ Pstr_type Rec
+ [
+ type_declaration "t" (extensions.ml[13,251+37]..[13,251+38]) (extensions.ml[13,251+32]..[13,251+42])
+ ptype_params =
+ []
+ ptype_cstrs =
+ []
+ ptype_kind =
+ Ptype_abstract
+ ptype_private = Public
+ ptype_manifest =
+ Some
+ core_type (extensions.ml[13,251+41]..[13,251+42])
+ Ptyp_constr "t" (extensions.ml[13,251+41]..[13,251+42])
+ []
+ ]
+ ]
expression (extensions.ml[13,251+47]..[13,251+74])
Pexp_extension "foo"
[
@@ -147,28 +143,26 @@
Pstr_value Nonrec
[
<def>
- pattern (extensions.ml[16,344+4]..[16,344+37]) ghost
- Ppat_constraint
- pattern (extensions.ml[16,344+4]..[16,344+19])
- Ppat_extension "foo"
- core_type (extensions.ml[16,344+11]..[16,344+17])
- Ptyp_variant closed=Closed
- [
- Rtag "Foo" true
- []
- ]
- None
- core_type (extensions.ml[16,344+22]..[16,344+37])
- Ptyp_extension "foo"
- core_type (extensions.ml[16,344+29]..[16,344+35])
- Ptyp_arrow
- Nolabel
- core_type (extensions.ml[16,344+29]..[16,344+30])
- Ptyp_constr "t" (extensions.ml[16,344+29]..[16,344+30])
- []
- core_type (extensions.ml[16,344+34]..[16,344+35])
- Ptyp_constr "t" (extensions.ml[16,344+34]..[16,344+35])
+ pattern (extensions.ml[16,344+4]..[16,344+19])
+ Ppat_extension "foo"
+ core_type (extensions.ml[16,344+11]..[16,344+17])
+ Ptyp_variant closed=Closed
+ [
+ Rtag "Foo" true
[]
+ ]
+ None
+ core_type (extensions.ml[16,344+22]..[16,344+37])
+ Ptyp_extension "foo"
+ core_type (extensions.ml[16,344+29]..[16,344+35])
+ Ptyp_arrow
+ Nolabel
+ core_type (extensions.ml[16,344+29]..[16,344+30])
+ Ptyp_constr "t" (extensions.ml[16,344+29]..[16,344+30])
+ []
+ core_type (extensions.ml[16,344+34]..[16,344+35])
+ Ptyp_constr "t" (extensions.ml[16,344+34]..[16,344+35])
+ []
expression (extensions.ml[16,344+40]..[16,344+60])
Pexp_extension "foo"
core_type (extensions.ml[16,344+47]..[16,344+58])
@@ -209,29 +203,27 @@
Pstr_value Nonrec
[
<def>
- pattern (extensions.ml[20,445+4]..[20,445+44]) ghost
- Ppat_constraint
- pattern (extensions.ml[20,445+4]..[20,445+28])
- Ppat_extension "foo"
- pattern (extensions.ml[20,445+11]..[20,445+26])
- Ppat_or
- pattern (extensions.ml[20,445+12]..[20,445+17])
- Ppat_construct "Bar" (extensions.ml[20,445+12]..[20,445+15])
- Some
- []
- pattern (extensions.ml[20,445+16]..[20,445+17])
- Ppat_var "x" (extensions.ml[20,445+16]..[20,445+17])
- pattern (extensions.ml[20,445+20]..[20,445+25])
- Ppat_construct "Baz" (extensions.ml[20,445+20]..[20,445+23])
- Some
- []
- pattern (extensions.ml[20,445+24]..[20,445+25])
- Ppat_var "x" (extensions.ml[20,445+24]..[20,445+25])
- core_type (extensions.ml[20,445+31]..[20,445+44])
- Ptyp_extension "foo"
- pattern (extensions.ml[20,445+38]..[20,445+42])
- Ppat_type
- "bar" (extensions.ml[20,445+39]..[20,445+42])
+ pattern (extensions.ml[20,445+4]..[20,445+28])
+ Ppat_extension "foo"
+ pattern (extensions.ml[20,445+11]..[20,445+26])
+ Ppat_or
+ pattern (extensions.ml[20,445+12]..[20,445+17])
+ Ppat_construct "Bar" (extensions.ml[20,445+12]..[20,445+15])
+ Some
+ []
+ pattern (extensions.ml[20,445+16]..[20,445+17])
+ Ppat_var "x" (extensions.ml[20,445+16]..[20,445+17])
+ pattern (extensions.ml[20,445+20]..[20,445+25])
+ Ppat_construct "Baz" (extensions.ml[20,445+20]..[20,445+23])
+ Some
+ []
+ pattern (extensions.ml[20,445+24]..[20,445+25])
+ Ppat_var "x" (extensions.ml[20,445+24]..[20,445+25])
+ core_type (extensions.ml[20,445+31]..[20,445+44])
+ Ptyp_extension "foo"
+ pattern (extensions.ml[20,445+38]..[20,445+42])
+ Ppat_type
+ "bar" (extensions.ml[20,445+39]..[20,445+42])
expression (extensions.ml[20,445+47]..[20,445+60])
Pexp_extension "foo"
pattern (extensions.ml[20,445+54]..[20,445+59])
@@ -255,52 +247,50 @@
Pstr_value Nonrec
[
<def>
- pattern (extensions.ml[23,534+4]..[24,573+32]) ghost
- Ppat_constraint
- pattern (extensions.ml[23,534+4]..[23,534+38])
- Ppat_extension "foo"
- [
- signature_item (extensions.ml[23,534+11]..[23,534+36])
- Psig_include
- module_type (extensions.ml[23,534+19]..[23,534+36])
- Pmty_with
- module_type (extensions.ml[23,534+19]..[23,534+20])
- Pmty_ident "S" (extensions.ml[23,534+19]..[23,534+20])
- [
- Pwith_type "t" (extensions.ml[23,534+31]..[23,534+32])
- type_declaration "t" (extensions.ml[23,534+31]..[23,534+32]) (extensions.ml[23,534+26]..[23,534+36])
- ptype_params =
- []
- ptype_cstrs =
- []
- ptype_kind =
- Ptype_abstract
- ptype_private = Public
- ptype_manifest =
- Some
- core_type (extensions.ml[23,534+35]..[23,534+36])
- Ptyp_constr "t" (extensions.ml[23,534+35]..[23,534+36])
- []
- ]
- ]
- core_type (extensions.ml[24,573+4]..[24,573+32])
- Ptyp_extension "foo"
- [
- signature_item (extensions.ml[24,573+11]..[24,573+20])
- Psig_value
- value_description "x" (extensions.ml[24,573+15]..[24,573+16]) (extensions.ml[24,573+11]..[24,573+20])
- core_type (extensions.ml[24,573+19]..[24,573+20])
- Ptyp_constr "t" (extensions.ml[24,573+19]..[24,573+20])
- []
+ pattern (extensions.ml[23,534+4]..[23,534+38])
+ Ppat_extension "foo"
+ [
+ signature_item (extensions.ml[23,534+11]..[23,534+36])
+ Psig_include
+ module_type (extensions.ml[23,534+19]..[23,534+36])
+ Pmty_with
+ module_type (extensions.ml[23,534+19]..[23,534+20])
+ Pmty_ident "S" (extensions.ml[23,534+19]..[23,534+20])
+ [
+ Pwith_type "t" (extensions.ml[23,534+31]..[23,534+32])
+ type_declaration "t" (extensions.ml[23,534+31]..[23,534+32]) (extensions.ml[23,534+26]..[23,534+36])
+ ptype_params =
+ []
+ ptype_cstrs =
+ []
+ ptype_kind =
+ Ptype_abstract
+ ptype_private = Public
+ ptype_manifest =
+ Some
+ core_type (extensions.ml[23,534+35]..[23,534+36])
+ Ptyp_constr "t" (extensions.ml[23,534+35]..[23,534+36])
+ []
+ ]
+ ]
+ core_type (extensions.ml[24,573+4]..[24,573+32])
+ Ptyp_extension "foo"
+ [
+ signature_item (extensions.ml[24,573+11]..[24,573+20])
+ Psig_value
+ value_description "x" (extensions.ml[24,573+15]..[24,573+16]) (extensions.ml[24,573+11]..[24,573+20])
+ core_type (extensions.ml[24,573+19]..[24,573+20])
+ Ptyp_constr "t" (extensions.ml[24,573+19]..[24,573+20])
[]
- signature_item (extensions.ml[24,573+22]..[24,573+31])
- Psig_value
- value_description "y" (extensions.ml[24,573+26]..[24,573+27]) (extensions.ml[24,573+22]..[24,573+31])
- core_type (extensions.ml[24,573+30]..[24,573+31])
- Ptyp_constr "t" (extensions.ml[24,573+30]..[24,573+31])
- []
+ []
+ signature_item (extensions.ml[24,573+22]..[24,573+31])
+ Psig_value
+ value_description "y" (extensions.ml[24,573+26]..[24,573+27]) (extensions.ml[24,573+22]..[24,573+31])
+ core_type (extensions.ml[24,573+30]..[24,573+31])
+ Ptyp_constr "t" (extensions.ml[24,573+30]..[24,573+31])
[]
- ]
+ []
+ ]
expression (extensions.ml[25,606+4]..[25,606+23])
Pexp_extension "foo"
[
diff --git a/testsuite/tests/parsing/quotedextensions.compilers.reference b/testsuite/tests/parsing/quotedextensions.compilers.reference
index 4f84877fde..dc23bd1137 100644
--- a/testsuite/tests/parsing/quotedextensions.compilers.reference
+++ b/testsuite/tests/parsing/quotedextensions.compilers.reference
@@ -41,24 +41,22 @@
Pstr_value Nonrec
[
<def>
- pattern (quotedextensions.ml[20,363+4]..[21,390+26]) ghost
- Ppat_constraint
- pattern (quotedextensions.ml[20,363+4]..[20,363+26])
- Ppat_extension "M.foo"
- [
- structure_item (quotedextensions.ml[20,363+4]..[20,363+26]) ghost
- Pstr_eval
- expression (quotedextensions.ml[20,363+4]..[20,363+26]) ghost
- Pexp_constant PConst_string (" <hello>{x} ",(quotedextensions.ml[20,363+12]..[20,363+24]),Some "")
- ]
- core_type (quotedextensions.ml[21,390+4]..[21,390+26])
- Ptyp_extension "M.foo"
- [
- structure_item (quotedextensions.ml[21,390+4]..[21,390+26]) ghost
- Pstr_eval
- expression (quotedextensions.ml[21,390+4]..[21,390+26]) ghost
- Pexp_constant PConst_string (" <hello>{x} ",(quotedextensions.ml[21,390+12]..[21,390+24]),Some "")
- ]
+ pattern (quotedextensions.ml[20,363+4]..[20,363+26])
+ Ppat_extension "M.foo"
+ [
+ structure_item (quotedextensions.ml[20,363+4]..[20,363+26]) ghost
+ Pstr_eval
+ expression (quotedextensions.ml[20,363+4]..[20,363+26]) ghost
+ Pexp_constant PConst_string (" <hello>{x} ",(quotedextensions.ml[20,363+12]..[20,363+24]),Some "")
+ ]
+ core_type (quotedextensions.ml[21,390+4]..[21,390+26])
+ Ptyp_extension "M.foo"
+ [
+ structure_item (quotedextensions.ml[21,390+4]..[21,390+26]) ghost
+ Pstr_eval
+ expression (quotedextensions.ml[21,390+4]..[21,390+26]) ghost
+ Pexp_constant PConst_string (" <hello>{x} ",(quotedextensions.ml[21,390+12]..[21,390+24]),Some "")
+ ]
expression (quotedextensions.ml[22,417+4]..[22,417+26])
Pexp_extension "M.foo"
[
@@ -72,24 +70,22 @@
Pstr_value Nonrec
[
<def>
- pattern (quotedextensions.ml[23,444+4]..[24,480+35]) ghost
- Ppat_constraint
- pattern (quotedextensions.ml[23,444+4]..[23,444+35])
- Ppat_extension "M.foo"
- [
- structure_item (quotedextensions.ml[23,444+4]..[23,444+35]) ghost
- Pstr_eval
- expression (quotedextensions.ml[23,444+4]..[23,444+35]) ghost
- Pexp_constant PConst_string (" <hello>{|x|} ",(quotedextensions.ml[23,444+16]..[23,444+30]),Some "bar")
- ]
- core_type (quotedextensions.ml[24,480+4]..[24,480+35])
- Ptyp_extension "M.foo"
- [
- structure_item (quotedextensions.ml[24,480+4]..[24,480+35]) ghost
- Pstr_eval
- expression (quotedextensions.ml[24,480+4]..[24,480+35]) ghost
- Pexp_constant PConst_string (" <hello>{|x|} ",(quotedextensions.ml[24,480+16]..[24,480+30]),Some "bar")
- ]
+ pattern (quotedextensions.ml[23,444+4]..[23,444+35])
+ Ppat_extension "M.foo"
+ [
+ structure_item (quotedextensions.ml[23,444+4]..[23,444+35]) ghost
+ Pstr_eval
+ expression (quotedextensions.ml[23,444+4]..[23,444+35]) ghost
+ Pexp_constant PConst_string (" <hello>{|x|} ",(quotedextensions.ml[23,444+16]..[23,444+30]),Some "bar")
+ ]
+ core_type (quotedextensions.ml[24,480+4]..[24,480+35])
+ Ptyp_extension "M.foo"
+ [
+ structure_item (quotedextensions.ml[24,480+4]..[24,480+35]) ghost
+ Pstr_eval
+ expression (quotedextensions.ml[24,480+4]..[24,480+35]) ghost
+ Pexp_constant PConst_string (" <hello>{|x|} ",(quotedextensions.ml[24,480+16]..[24,480+30]),Some "bar")
+ ]
expression (quotedextensions.ml[25,516+4]..[25,516+35])
Pexp_extension "M.foo"
[
diff --git a/testsuite/tests/typing-gadts/test.ml b/testsuite/tests/typing-gadts/test.ml
index 178b9c9590..aaa5be181f 100644
--- a/testsuite/tests/typing-gadts/test.ml
+++ b/testsuite/tests/typing-gadts/test.ml
@@ -682,9 +682,9 @@ let f : type a b. (a,b) eq -> (<m : a; ..> as 'c) -> (<m : b; ..> as 'c) =
;; (* fail *)
[%%expect{|
type (_, _) eq = Eq : ('a, 'a) eq
-Lines 3-4, characters 4-15:
-3 | ....f : type a b. (a,b) eq -> (<m : a; ..> as 'c) -> (<m : b; ..> as 'c) =
-4 | fun Eq o -> o
+Line 3, characters 18-72:
+3 | let f : type a b. (a,b) eq -> (<m : a; ..> as 'c) -> (<m : b; ..> as 'c) =
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error: The universal type variable 'b cannot be generalized:
it is already bound to another variable.
|}];;