Nim/tests/effects
Lancer11211 efd5c571bf
.forbids pragma: defining forbidden tags (#20050)
* .forbids pragma: defining illegal effects for proc types

This patch intends to define the opposite of the .tags pragma: a way to define effects which are not allowed in a proc.

* updated documentation and changelogs for the forbids pragma

* renamed notTagEffects to forbiddenEffects

* corrected issues of forbids pragma

the forbids pragma didn't handle simple restrictions properly and it also had issues with subtyping

* removed incorrect character from changelog

* added test to cover the interaction of methods and the forbids pragma

* covering the interaction of the tags and forbids pragmas

* updated manual about the forbids pragma

* removed useless statement

* corrected the subtyping of proc types using the forbids pragma

* updated manual for the forbids pragma

* updated documentations for forbids pragma

* updated nim docs

* updated docs with rsttester.nim

* regenerated documentation

* updated rst docs

* Update changelog.md

Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>

* updated changelog

* corrected typo

Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
2022-07-26 07:40:49 +02:00
..
tcast_as_pragma.nim implements https://github.com/nim-lang/RFCs/issues/258 (#15503) 2020-10-06 16:47:15 +02:00
tdiagnostic_messages.nim Extended side effect error messages (#18418) 2021-07-15 20:43:57 +02:00
teffects1.nim strict effects (#18777) 2021-09-02 12:10:14 +02:00
teffects2.nim strict effects (#18777) 2021-09-02 12:10:14 +02:00
teffects3.nim require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
teffects4.nim require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
teffects5.nim tests: Trim .nim files trailing whitespace 2015-09-04 23:04:32 +02:00
teffects6.nim fixes #12642 (#18811) 2021-09-06 17:43:03 +02:00
teffects7.nim strict effects (#18777) 2021-09-02 12:10:14 +02:00
teffects8.nim strict effects (#18777) 2021-09-02 12:10:14 +02:00
teffects9.nim Add tests for #8481, #6490 and #4061 (#14083) 2020-04-23 19:52:33 +02:00
teffects10.nim effects: exclude swap() from "indirect calls" assumption (#15504) 2020-10-06 18:05:31 +02:00
teffects11.nim .forbids pragma: defining forbidden tags (#20050) 2022-07-26 07:40:49 +02:00
teffects12.nim .forbids pragma: defining forbidden tags (#20050) 2022-07-26 07:40:49 +02:00
teffects13.nim .forbids pragma: defining forbidden tags (#20050) 2022-07-26 07:40:49 +02:00
teffects14.nim .forbids pragma: defining forbidden tags (#20050) 2022-07-26 07:40:49 +02:00
teffects15.nim .forbids pragma: defining forbidden tags (#20050) 2022-07-26 07:40:49 +02:00
teffects16.nim .forbids pragma: defining forbidden tags (#20050) 2022-07-26 07:40:49 +02:00
teffects17.nim .forbids pragma: defining forbidden tags (#20050) 2022-07-26 07:40:49 +02:00
teffects18.nim .forbids pragma: defining forbidden tags (#20050) 2022-07-26 07:40:49 +02:00
teffects19.nim .forbids pragma: defining forbidden tags (#20050) 2022-07-26 07:40:49 +02:00
tfuncs_cannot_mutate.nim close #17636 (#17643) 2021-04-06 16:20:01 +02:00
tfuncs_cannot_mutate2.nim make strict funcs analysis smarter (#18219) 2021-06-09 17:33:19 +02:00
tfuncs_cannot_mutate_simple.nim close #17636 (#17643) 2021-04-06 16:20:01 +02:00
tgcsafe.nim fixes #6955 2019-02-13 23:30:14 +01:00
tgcsafe2.nim make more tests green 2018-02-10 20:55:22 +01:00
tgcsafe3.nim correct effect tracking for .borrowed procs [backport] (#18882) 2021-09-23 16:47:24 +02:00
tnestedprocs.nim fixes another effect inference bug [backport:1.6] (#19100) 2021-11-07 16:38:02 +01:00
tnosideeffect.nim fix manual to reflect reality for .nosideeffect (#16781) 2021-01-22 20:04:48 +01:00
toutparam.nim change --hint[X] => --hint:X in nim repo (avoids shell quoting issues) (#18085) 2021-05-26 09:51:48 +02:00
tsidee1.nim require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
tsidee2.nim require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
tsidee3.nim require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
tsidee4.nim require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
tstrict_effects.nim strict effects (#18777) 2021-09-02 12:10:14 +02:00
tstrict_effects2.nim strict effects (#18777) 2021-09-02 12:10:14 +02:00
tstrict_effects3.nim fixes #19159 [backport:1.6] (#19210) 2021-12-04 07:44:26 +01:00
tstrict_effects_sort.nim strict effects (#18777) 2021-09-02 12:10:14 +02:00
tstrict_funcs.nim make strict funcs analysis smarter (#18219) 2021-06-09 17:33:19 +02:00
tstrict_funcs_imports.nim Fixed strictFuncs support for std/pegs (#18951) 2021-10-07 12:16:58 +02:00
tstrict_funcs_imports_js.nim Implement RFC-413 (#18749) 2021-08-26 23:07:54 +02:00