- Updated ast matching for 4.02
-
Removed some unused-value warnings when
with
is used in signatures.Removed warnings in cases like:
include (module_expr : sig type t with bin_io end)
- Compatibility with warning 7 (method override)
Bump version number
- Removed comments from pretty-printed types in
type_conv
error messages.
-
Made
type nonrec
work when a type has both an equation and a representation.For example:
type t = A of t module T = struct type nonrec t = t = A of t end
-
Fixed the generated code of
typerep
andsexplib
on sum types containingTrue
orFalse
.Without this fix,
typerep
would wrong constructor names forBlang.t
, for instance.Variantslib
has the same problem but applying the same fix there would still not make the generated code compile because the generated code would contain labels and variable namedtrue
orfalse
.Other syntax extensions should not be affected because they don't build strings from constructor names.
-
Fixed an issue with
type_conv
in the toplevel.Used AST filters for the
_no_unused_value_warning_
machinery.type_conv
modifies the parser but it didn't work well in the toplevel.Removed the
parsing_mli
reference, an instead always add the special_no_unused_value_warning_
type and just strip it for signature items.
-
Removed some warnings caused by generated signatures.
- In signatures on local modules.
- When there are duplicate signature items like in this example:
module Warnings : sig type t = private { foo : int } with fields (** used to say unused value foo *) val foo : string end = struct type t = { foo : int } with fields let foo = "a" end
- In the signatures of all the parameters of functors that take multiple parameters; this used to work only for the last parameter.
-
Fixed type_conv to stop dropping parens in arguments such as:
type t = { a : int with default(1), sexp_drop_if(fun x -> (x + 1) * 2 = 4) } with sexp
- Added support for record field annotations and defaults.
- Fixes for upcoming OCaml 4.00 release.
- Fixes to improve package dependency resolution.
- Added missing module type case for "module type of".
-
Merged with Jane Street version. API changes:
Removed functions:
- Gen.ide
- Gen.idp
Removed location arguments from:
- type_is_recursive
- drop_variance_annotations
- Merged with Jane Street version. No code changes.
- Added a missing type case to type_is_recursive. Thanks to Michael Wawrzoniak mhw@cs.princeton.edu for this patch!
- Major changes for compatibility with OCaml 3.12.
- Improved determination of type_conv paths. Thanks to Jacques Le Normand rathereasy@gmail.com for this patch!
- Added missing type cases for supporting variant types.
-
Added support for type converters that take arguments. Thanks to Jérémie Dimino jeremie@dimino.org for this patch!
Added support for deprecated OCaml syntax, since the compiler still supports it, too.
- Fixed bug preprocessing labeled arguments in function types.
- Fix for upcoming OCaml release 3.11.
-
Added a patch to improve handling of type conversion paths.
Thanks to David Rajchenbach-Teller David.Teller@ens-lyon.org for the patch!
- Added support for exception converters.
- Fixed bug concerning variance annotations in type definitions within structures.
- Improved META file and support of toplevel interpreter.
- Added support for handling variance annotations in signatures, and for empty types.
- Initial release.