From 435eca623257ac98b8a383460436f0a4dea6a87f Mon Sep 17 00:00:00 2001 From: Code Hz Date: Fri, 18 Dec 2020 17:40:43 +0800 Subject: [PATCH] removing `out T` from docs since it no longer working (#16378) [backport] * remove `out T` from docs see https://github.com/nim-lang/Nim/issues/16131 * remove `out T` in title * remove entire paragraph (cherry picked from commit 90dbb6f3fbab684afad729903ff322a9792e1706) --- doc/manual.rst | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/doc/manual.rst b/doc/manual.rst index 633758be24..f7a255e4fe 100644 --- a/doc/manual.rst +++ b/doc/manual.rst @@ -2483,9 +2483,10 @@ matches) is preferred: Overloading based on 'var T' ---------------------------- -If the formal parameter ``f`` is of type ``var T`` in addition to the ordinary -type checking, the argument is checked to be an `l-value`:idx:. ``var T`` -matches better than just ``T`` then. +If the formal parameter ``f`` is of type ``var T`` +in addition to the ordinary type checking, +the argument is checked to be an `l-value`:idx:. +``var T`` matches better than just ``T`` then. .. code-block:: nim proc sayHi(x: int): string = @@ -5981,10 +5982,10 @@ noSideEffect pragma The ``noSideEffect`` pragma is used to mark a proc/iterator to have no side effects. This means that the proc/iterator only changes locations that are reachable from its parameters and the return value only depends on the -arguments. If none of its parameters have the type ``var T`` -or ``ref T`` or ``ptr T`` this means no locations are modified. It is a static -error to mark a proc/iterator to have no side effect if the compiler cannot -verify this. +arguments. If none of its parameters have the type ``var T`` or ``ref T`` +or ``ptr T`` this means no locations are modified. It is a static error to +mark a proc/iterator to have no side effect if the compiler cannot verify +this. As a special semantic rule, the built-in `debugEcho `_ pretends to be free of side effects,