Guess what?  There is a new branch to experiment with inline records.  Now, we are going to apply syntactic restriction to make sure inline record types don't escape.





git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15515 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Commit a variant of the patch from Jacques, avoiding the need for a specific val_kind.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15516 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Be more liberal for the pattern under a constructor with an inlined argument: allow aliases and or patterns (only reject explicitly the constraint pattern).

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15517 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
allow_recarg is now interpreted in a strict way for Pexp_ident expression (if true, the variable must be bound to a record argument).

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15518 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Better errors.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15519 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Cleanup.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15521 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Rename allow_recarg to recarg.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15522 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Fix.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15523 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Stop keeping manifest types on inlined records; always use free variables (ordering doesn't matter); re-enable GADT constructors.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15524 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Remove syntax for inlined record types.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15525 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Remove support for record types in the printer (will be printed without the ! if they ever appear in error messages).

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15526 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Drop support for self-recursive reference to inlined record types.  Improve error message.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15527 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Adapt test.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15535 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Adapt test.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15536 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Error message.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15537 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Sync with trunk.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15538 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Cleanup.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15539 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Name of exceptions can no longer be duplicated.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15543 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Empty ident is not allowed.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Accept changes.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15548 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02