summaryrefslogtreecommitdiff
path: root/Changes
diff options
context:
space:
mode:
Diffstat (limited to 'Changes')
-rw-r--r--Changes21
1 files changed, 18 insertions, 3 deletions
diff --git a/Changes b/Changes
index cf0673bafe..3d6ea451da 100644
--- a/Changes
+++ b/Changes
@@ -30,7 +30,21 @@ Language features:
"S with type t1 = ... and ... and type tn = ..." (S refers to a module type).
- Local opening of modules in a subexpression.
Syntax: "let open M in e", or "M.(e)"
-- [SOMEONE MUST DOCUMENT method! HERE] (See change to warning 7 below).
+- In class definitions, method and instance variable override can now
+ be made explicit, by writing "method!", "val!" or "inherit!" in place of
+ "method", "val" and "inherit". It is an error to override an
+ undefined member (or to use overriding inheritance when nothing get
+ overriden). Additionally, these constructs disactivate respectively
+ warnings 7 (method override, code 'M') and 13 (instance variable
+ override, code 'V'). Note that, by default, warning 7 is inactive
+ and warning 13 is active.
+- "Destructive" substitution in signatures.
+ By writing "<signature> with type t := <typeconstr>" and
+ "<signature> with module M := <module-path>" one replaces "t" and "M"
+ inside the signature, removing their respective fields. Among other
+ uses, this allows to merge two signatures containing identically
+ named fields.
+
Compilers and toplevel:
- Warnings are now numbered and can be switched on and off individually.
@@ -44,8 +58,9 @@ Compilers and toplevel:
+ 29 when an end-of-line appears unescaped in a string constant.
+ 30 when the same constructor or record field is defined twice in
mutually-recursive type definitions.
-* The semantics of warning 7 (code 'M', method override) have changed,
- and it is now disabled by default.
+* The semantics of warning 7 (code 'M', method override) have changed
+ (it now detects all overrides, not just repeated definitions inside
+ the same class body), and it is now inactive by default.
- Better error report in case of unbound qualified identifier: if the module
is unbound this error is reported in the first place.
- Added option '-strict-sequence' to force left hand part of sequence to have