summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--doc/manual/stmts.txt6
-rw-r--r--web/news/e031_version_0_16_2.rst8
2 files changed, 10 insertions, 4 deletions
diff --git a/doc/manual/stmts.txt b/doc/manual/stmts.txt
index fa1cac8e1..5668b8cc2 100644
--- a/doc/manual/stmts.txt
+++ b/doc/manual/stmts.txt
@@ -130,9 +130,9 @@ If a proc is annotated with the ``noinit`` pragma this refers to its implicit
 
 
 The implicit initialization can be also prevented by the `requiresInit`:idx:
-type pragma. The compiler requires an explicit initialization then. However
-it does a `control flow analysis`:idx: to prove the variable has been
-initialized and does not rely on syntactic properties:
+type pragma. The compiler requires an explicit initialization for the object
+and all of its fields. However it does a `control flow analysis`:idx: to prove
+the variable has been initialized and does not rely on syntactic properties:
 
 .. code-block:: nim
   type
diff --git a/web/news/e031_version_0_16_2.rst b/web/news/e031_version_0_16_2.rst
index a15e715d6..fd12bb822 100644
--- a/web/news/e031_version_0_16_2.rst
+++ b/web/news/e031_version_0_16_2.rst
@@ -49,7 +49,13 @@ Changes affecting backwards compatibility
   instead of signed integers.
 - In Nim identifiers en-dash (Unicode point U+2013) is not an alias for the
   underscore anymore. Use underscores and fix your programming font instead.
-
+- When the ``requiresInit`` pragma is applied to a record type, future versions
+  of Nim will also require you to initialize all the fields of the type during
+  object construction. For now, only a warning will be produced.
+- The Object construction syntax now performs a number of additional safety
+  checks. When fields within case objects are initialiazed, the compiler will
+  now demand that the respective discriminator field has a matching known
+  compile-time value.
 
 Library Additions
 -----------------