Create (yet) another branch for inline record, without syntactic encoding.



git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14552 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Keep inlined records in Typedtree and Types.  Synthesize record types when inserting in the environment and module components, as for labels and constructors.  Following features are not supported: inline record for exceptions, GADTs, polymorphic fields.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Fix re-export with a different name.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14554 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Find the id for local synthesized record types in the environment.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14557 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Keep the id for the synthesized sub-declaration in Cstr_record.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14560 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Polymorphic fields are actually ok.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14561 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Support for GADT constructors with record syntax.  For now, do not try to infer a clever variance, nor a predictible ordering, for the extra arguments on synthesized types.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14562 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
For GADT constructors, the type parameters of the original sum type cannot be used for the synthesized record types.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14563 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Starting support for exceptions with record arguments.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14568 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Continue support for record argument on exceptions.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14569 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Produce type equation on exception rebinding with a record argument.

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

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14587 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Do not register labels of inlined records into the environment; they can only be used through type-based selection.  Silence out-of-scope and disambiguated warnings when they are selected.

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

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14639 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
The type parameters of inlined record types are free variables that appear in the record definition (in order of syntactic appearance), both for GAT and non-GADT constructors.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14640 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Consider that exceptions with a record argument create an implicit type.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14655 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Proper renaming of the ident in Cstr_record during signature substitution.

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

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

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14661 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Check unicity of types introduced through exceptions.  Do not discard exceptions from signatures if they introduce a type.

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