| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
* add `enumerate` macro
* address the comments
* put `enumerate` in its own module
|
|
|
|
|
| |
* docs improvement
* minor
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* Fix #5691
* Cleanup and thoughts
* Use scope approach
* Seperate defined/declared/declaredInScope magics
* Fix declaredInScope
* Update spec accordingly
|
|
|
| |
Co-authored-by: Ico Doornekamp <git@zevv.nl>
|
|
|
|
|
|
|
| |
* Minor improvements to typecast section of manual
* Clarification to casting w/ concrete types
* Added less ambiguous language
|
|
|
|
|
|
|
|
|
| |
* {.deprecated: [existsFile: fileExists].}
* s/existsFile/fileExists/ except under deps
* workaround pending #14819
* fix test
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Removed phrase "However, this is no real restriction because
Nim's syntax is flexible enough anyway." from the manual - I find it
very subjective, and I sometimes *do* find myself restricted by Nim's
syntax when writing DSLs
|
| |
|
| |
|
|
|
|
| |
* Add thiscall calling convention, mostly for hooking purpose
* add changelog and documentation
|
| |
|
| |
|
|
|
|
|
| |
* refs #14369 improve docs for importcpp exceptions
* address comments
|
|
|
|
| |
for imported exceptions (#14392)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Allow let to not have value when using importc
This allows a let statement with the `{.importc.}` pragma to not be
initialised with a value. This allows us to declare C constants as Nim
lets without putting the value in the Nim code (which can lead to
errors, and requires us to go looking for the value). Fixes #14253
* Proper fix and documentation + changelog entry
* Improve testcase with one from timotheecour
* Add test to verify it working with macros
|
|
|
|
|
| |
`if expressions` are similar to ternary operators in other languages.
In order to make this easier to find in the manual, I've added a
sentence about it.
|
|
|
|
|
|
|
|
|
| |
* do not track 'raise Defect' in the .raises: [] clause anymore
* --panics:on maps 'raise Defect' to an unrecoverable fatal error
* make tests green again
* update the documentation too
|
| |
|
| |
|
|
|
|
| |
* add discard warning in manual
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Error -> Defect for defects
The distinction between Error and Defect is subjective,
context-dependent and somewhat arbitrary, so when looking at an
exception, it's hard to guess what it is - this happens often when
looking at a `raises` list _without_ opening the corresponding
definition and digging through layers of inheritance.
With the help of a little consistency in naming, it's at least possible
to start disentangling the two error types and the standard lib can set
a good example here.
|
| |
|
|
|
|
|
| |
When I heard that this feature existed, and found the 2018 changelog entry that said `not nil` was made experimental (https://github.com/nim-lang/Nim/blob/devel/changelogs/changelog_0_19_0.md#changes-affecting-backwards-compatibility), I looked for `not nil` documentation in https://nim-lang.org/docs/manual_experimental.html. When I didn’t find it there, I initially assumed the feature had no documentation. This change moves the documentation to where readers will expect it.
As well as moving the text to another file, I added instructions for enabling the experimental feature and tweaked some wording.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* new minor feature: macros for proc types, to be documented
* Finished the implementation and added tests
* [skip ci] Describe the new custom pragmas in the manual and the changelog
Co-authored-by: Zahary Karadjov <zahary@gmail.com>
|
|
|
|
|
| |
and improve wording in other ways
Showing that `nil` can be assigned helps to warn readers that variables can be `nil` even after being assigned a value.
|
|
|
|
|
|
|
|
|
|
| |
* allow defects to be caught even for --exceptions:goto (WIP)
* implemented the new --panics:on|off switch; refs https://github.com/nim-lang/RFCs/issues/180
* new implementation for integer overflow checking
* produce a warning if a user-defined exception type inherits from Exception directly
* applied Timothee's suggestions; improved the documentation and replace the term 'checked runtime check' by 'panic'
* fixes #13627
* don't inherit from Exception directly
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* manual: documents changes regarding dynlib
Closes #13416
* manual: clean up sentence phrasing
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* first implementation of the =trace and =dispose hooks for the cycle collector
* a cycle collector for ARC: progress
* manual: the .acyclic pragma is a thing once again
* gcbench: adaptations for --gc:arc
* enable valgrind tests for the strutils tests
* testament: better valgrind support
* ARC refactoring: growable jumpstacks
* ARC cycle detector: non-recursive algorithm
* moved and renamed core/ files back to system/
* refactoring: --gc:arc vs --gc:orc since 'orc' is even more experimental and we want to ship --gc:arc soonish
|
|
|
| |
Said that you can have custom exceptions and showed how to create and raise them.
|
| |
|
| |
|
| |
|