include example of error-marked copy proc (#15886)

* include example of error-marked copy proc

* Update destructors.rst

(cherry picked from commit 3be404af04)
This commit is contained in:
n5m
2020-11-09 10:45:43 +00:00
committed by narimiran
parent 5ea4dea4ea
commit 12145adecd

View File

@@ -184,8 +184,14 @@ The general pattern in ``=copy`` looks like:
The ``=copy`` proc can be marked with the ``{.error.}`` pragma. Then any assignment
that otherwise would lead to a copy is prevented at compile-time.
that otherwise would lead to a copy is prevented at compile-time. This looks like:
.. code-block:: nim
proc `=copy`(dest: var T; source: T) {.error.}
but a custom error message (e.g., ``{.error: "custom error".}``) will not be emitted
by the compiler. Notice that there is no ``=`` before the ``{.error.}`` pragma.
Move semantics
==============