diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2020-06-23 10:53:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-23 10:53:57 +0200 |
commit | da29222f86f7689227ffe12605842d18c9bf0fc1 (patch) | |
tree | 312152d96e2313a81170c772ff7b51475299f344 /tests/effects | |
parent | a9eee6db65e72e0e11cbf5faf0794b1b6ac8bd0c (diff) | |
download | Nim-da29222f86f7689227ffe12605842d18c9bf0fc1.tar.gz |
init checks and 'out' parameters (#14521)
* I don't care about observable stores * enforce explicit initializations * cleaner code for the stdlib * stdlib: use explicit initializations * make tests green * algorithm.nim: set result explicitly * remove out parameters and bring the PR into a mergable state * updated the changelog
Diffstat (limited to 'tests/effects')
-rw-r--r-- | tests/effects/toutparam.nim | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/effects/toutparam.nim b/tests/effects/toutparam.nim new file mode 100644 index 000000000..00572aa6b --- /dev/null +++ b/tests/effects/toutparam.nim @@ -0,0 +1,28 @@ +discard """ + cmd: '''nim c --warningAsError[Uninit]:on --skipCfg --skipParentCfg $file''' + errormsg: "use explicit initialization of 'x' for clarity [Uninit]" + line: 24 + disabled: "true" +""" + +proc gah[T](x: out T) = + x = 3 + +proc main = + var a: array[2, int] + var x: int + gah(x) + a[0] = 3 + a[x] = 3 + echo x + +main() + +proc mainB = + var a: array[2, int] + var x: int + a[0] = 3 + a[x] = 3 + echo x + +mainB() |