summary refs log tree commit diff stats
path: root/compiler/condsyms.nim
Commit message (Collapse)AuthorAgeFilesLines
* fixes LineTooLong hints on old compilers (#22412)ringabout2023-08-081-0/+1
| | | | | * fixes LineTooLong hints on old compilers * fixes config/nim.cfg
* use strictdefs for compiler (#22365)ringabout2023-08-061-0/+2
| | | | | | | | | | | | | | | * wip; use strictdefs for compiler * checkpoint * complete the chores * more fixes * first phase cleanup * Update compiler/bitsets.nim * cleanup
* implement `ensureMove` (#22339)ringabout2023-07-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * implement `ensureMove` * use an additional flag * improve some logics * progress: fixes discard ensureMove * forbids nested expressions * improve error messages * checkpoint * fixes cursor * ADD MORE TESTS * fixes cursorinference again * tiny cleanup * improve error messages * fixes docs * implement comments add more tests * fixes js
* implemented 'push quirky' switch for fine grained control over the ex… ↵Andreas Rumpf2023-07-231-0/+1
| | | | | | | (#22318) * implemented 'push quirky' switch for fine grained control over the exception handling overhead * documentation
* fixes #19101; zero initialization union casts (#22185)ringabout2023-06-291-1/+1
| | | | | | | * zero initialization union casts * cleans up and adds a test case for #19101 * uses nimZeroMem
* allow destructors to accept non var parameters; deprecate `proc =destroy(x: ↵ringabout2023-06-211-0/+1
| | | | | | | | | | var T)` (#22130) * make destructors accept non var parameters * define nimAllowNonVarDestructor * add a test case and a changelog * update documentation and error messages * deprecate destructors taking 'var T'
* isolation spec update; WIP (#21843)Andreas Rumpf2023-05-141-1/+1
| | | | | | | | | | | * isolation spec update; WIP * wip * docs update, WIP * progress * Update doc/manual.md
* make deprecated statement a no-op (#21836)metagn2023-05-121-1/+0
|
* clean up SOME pending/xxx/issue link comments (#21826)metagn2023-05-111-2/+1
| | | | | * clean up SOME pending/xxx/issue link comments * great
* implement `=dup` hook eliminating `wasMoved` and `=copy` pairs (#21586)ringabout2023-05-061-1/+2
| | | | | | | | | | | | | | | | | | | * import `=dup` hook eliminating `wasMoved` and `=copy` pairs * add dup * add a test for dup * fixes documentation * fixes signature * resolve comments * fixes tests * fixes tests * clean up
* fixes #19863; move sha1, md5 to nimble packages for 2.0 (#21702)ringabout2023-05-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * move sha1, md5 to nimble packages * boot the compiler * fixes tests * build the documentation * fixes docs * lol, I forgot koch.nim * add `nimHasChecksums` define * clone checksums but maybe copying is better * bump nimble hash * use ChecksumsStableCommit * fixes tests * deprecate them * fixes paths * fixes koch
* replaces `pairs` with `keys` and `items`; saves 8 bytes (#21319)ringabout2023-02-021-1/+1
| | | replace `pairs` with `keys` and `items`
* remove legacy code (#21134)ringabout2022-12-261-23/+24
| | | | | * remove legacy code * fixes
* fixes #20244; fixes castSizes warnings (#21102)ringabout2022-12-221-0/+1
| | | | | | | | | | | | | | | | | * fixes #20244; fixes castSizes warnings * fixes js * fixes js * fixes js * fixes * typo * extend using uint64 * Update lib/std/syncio.nim
* fix #19580; add warning for bare except: clause (#21099)ringabout2022-12-151-0/+1
| | | | | | | | | | | | | | | | | | | | | * fix #19580; add warning for bare except: clause * fixes some easy ones * Update doc/manual.md * fixes docs * Update changelog.md * addition * Apply suggestions from code review Co-authored-by: Jacek Sieka <arnetheduck@gmail.com> * Update doc/tut2.md Co-authored-by: Jacek Sieka <arnetheduck@gmail.com>
* generic `define` pragma + string alias (#20979)metagn2022-12-131-0/+2
| | | | | | | | | * generic `define` pragma + string alias * clean * add tests and document * remove char/float, minimize changelog
* An unnamed break in a block now gives an `UnnamedBreak` warning (#20901)ringabout2022-11-241-0/+1
| | | | | | | | | | | | | | | | | | | | | * unnamed break in the block now gives an error * bootstrap * fixes * more fixes * break with label * label again * one moee * Delete test5.txt * it now gives a UnnamedBreak warning * change the URL of bump back to the original one
* fixes #20026; marks system procs which can raise defects (#20864)ringabout2022-11-221-0/+1
| | | | | | | | | * marks system procs which can raise defects * add tests * add more systemRaisesDefect * add comment
* DAA and 'out' parameters (#20506)Andreas Rumpf2022-10-061-0/+2
| | | | | | | | | | | * DAA and 'out' parameters * progress * documented strictDefs and out parameters * docs, tests and a bugfix * fixes silly regression
* pragma for sfCallsite instead of name check + better semantics, test (#20464)metagn2022-10-031-0/+1
| | | | | | | | | | | * pragma for sfCallsite instead of name check at every template definition Not documented because it seems to be for internal use? Should also make it possible to make comparisons and setops imports, but this doesn't have to be done. I can reuse a name like `cursor` for the pragma as well, added a new name just to be safe. * make sfCallsite recursive, add tests
* closed ambiguous enum defaults to first overload (#20457)metagn2022-10-011-0/+1
| | | | | | | | | * closed ambiguous enum defaults to first overload * add warning * turn to hint * work around config
* turn nimIncrSeqV3 into deadcode (#20388)ringabout2022-09-201-1/+1
|
* support cstring in `case` (#20130)metagn2022-09-011-0/+1
| | | | | | | | | | | | | | | * implement case for cstring for now just converts to string on C backend * custom implementation for cstring * remove leftover * revert even more * add nil + fix packages weird variant literal bug * update docs
* top-down type inference, implements rfc 149 (#20091)metagn2022-08-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * micro implementation of rfc 149 refs https://github.com/nim-lang/RFCs/issues/149 * number/array/seq literals, more statements * try fix number literal alias issue * renew expectedType with if/case/try branch types * fix (nerf) index type handling and float typed int * use typeAllowed * tweaks + const test (tested locally) [skip ci] * fill out more of the checklist * more literals, change @ order, type conversions Not copying the full call tree before the typedesc call check in `semIndirectOp` is also a small performance improvement. * disable self-conversion warning * revert type conversions (maybe separate op later) * deal with CI for now (seems unrelated), try enums * workaround CI different way * proper fix * again * see sizes * lol * overload selection, simplify int literal -> float * range, new @ solution, try use fitNode for nil * use new magic * try fix ranges, new magic, deal with #20193 * add documentation, support templates Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* new .redefine pragma for templates, warn on redefinition without it (#20211)metagn2022-08-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * test CI for template redefinitions * adapt asyncmacro * fix quote * fix again * try something else * revert * fix ioselectors_select, disable packages CI * adapt more tests & simplify * more * more * more * rename to redefine, warn on implicit redefinition * basic documentation [skip ci] * Update compiler/lineinfos.nim Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* fixes #19078 [backport] (#19090)Andreas Rumpf2021-11-021-0/+2
|
* strict effects (#18777)Andreas Rumpf2021-09-021-0/+1
| | | | | | | | | | | | | | | | | * fixes #17369 * megatest is green for --cpu:arm64 * docgen output includes more tags/raises * implemented 'effectsOf' * algorithm.nim: uses new effectsOf annotation * closes #18376 * closes #17475 * closes #13905 * allow effectsOf: [a, b] * added a test case * parameters that are not ours cannot be declared as .effectsOf * documentation * manual: added the 'sort' example * bootstrap with the new better options
* ORC: support for custom =trace procs (#18459)Andreas Rumpf2021-07-091-0/+1
| | | | | | | | | | | * ORC: support custom =trace procs (WIP) * Update tests/arc/tcustomtrace.nim Co-authored-by: Clyybber <darkmine956@gmail.com> * =trace is now documented and seems to work * make test green Co-authored-by: Clyybber <darkmine956@gmail.com>
* support `--hint:all:off --hint:x` (ditto with `--warnings` + friends) (#17852)Timothee Cour2021-06-201-1/+1
| | | | | * select all hints via `--hint:all:on|off`, etc * simplify code with setutils * address comment
* use dragonbox algorithm; alternative to #18008 (#18139)Andreas Rumpf2021-06-011-0/+2
| | | | | * use dragonbox algorithm; alternative to #18008 * removed unsafe code
* `typeof(voidStmt)` now works (#17807)Timothee Cour2021-04-231-0/+1
| | | | | | | | * `typeof(voidStmt)` now works * remove typeOrVoid * add condsyms, and reference cligen https://github.com/c-blake/cligen/pull/193 * fixup * changelog [skip ci] * fixup
* iterable[T] (#17196)Timothee Cour2021-04-111-0/+1
| | | | | | | | * fix failing test toSeq in manual which now works * changelog * reject proc fn(a: iterable) * add iterable to spec * remove MCS/UFCS limitation that now works
* unify tuple expressions (#13793)Arne Döring2021-03-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * unify tuple expressions * fix test * fix test * apply feedback * Handle empty tuples * Fix rendering named unary tuple * Protect static NimNode against stripping * Slightly less hacky * Revert "Slightly less hacky" This reverts commit 170c5aec0addc029f637afbc948700ca006b7942. * Slightly less hacky * Cleanup * Fix test * Fix another test * Add condsym * Rebase fallout * changelog: Move from compiler changes to language changes * Add stricter tests * Add empty tuple example to doc/astspec * Fix test Co-authored-by: Clyybber <darkmine956@gmail.com>
* followup custom literals (#17500)Timothee Cour2021-03-271-0/+1
|
* followup #16067 --spellSuggest (#17401)Timothee Cour2021-03-171-0/+1
| | | | | | | * followup #16067 --spellSuggest * enable --spellSuggest by default * fixup
* remove tests/deps/ (#17132)Timothee Cour2021-02-231-1/+2
| | | | | | | | | * remove tests/deps/ * fix tests * fix tests/manyloc/keineschweine/lib/zlib_helpers.nim * fixup
* add -d:nimStrictMode in CI to keep code from regressing; fixes ↵Timothee Cour2021-02-171-0/+1
| | | | ConvFromXtoItselfNotNeeded, UnusedImport notes (#16764)
* remove all uses of condsyms symbols defined prior to bootstrap nim 0.20.0 ↵Timothee Cour2021-02-171-46/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#16918) * nimNoArrayToCstringConversion deadcode * nimbabel deadcode * nimHasalignOf deadcode * nimvarargstyped deadcode * nimhygiene deadcode * nimNewTypedesc deadcode * nimlocks deadcode * nimHasCppDefine deadcode * nimHasRunnableExamples deadcode * nimHasNilChecks deadcode * nimSymKind deadcode * minor macros refactoring * nimVmEqIdent deadcode * nimNoNil deadcode * nimNoZeroTerminator deadcode * nimHasSymOwnerInMacro deadcode * nimVmExportFixed deadcode * nimNewRuntime deadcode * nimAshr deadcode * nimUncheckedArrayTyp deadcode * nimHasTypeof deadcode * nimErrorProcCanHaveBody deadcode * nimHasHotCodeReloading deadcode * nimHasSignatureHashInMacro deadcode * nimHasDefault deadcode * nimMacrosSizealignof deadcode
* remove conditionals on nimHasUserErrors, nimNoNilSeqs2, nimNoNilSeqs (#16861)Timothee Cour2021-01-291-3/+3
| | | | | | | | | * cleanup docs for type(nil) | type(nil); simplify nimHasUserErrors * simplify nimNoNilSeqs2 * simplify nimNoNilSeqs * fixup
* `--hintAsError` (#16763)Timothee Cour2021-01-201-0/+1
| | | | | | | * --hintAsError * add test, changelog * condsyms
* [backport 1.0] add backend support for js bigint (#16606)Timothee Cour2021-01-061-0/+1
| | | | | | | | | | | | | * add backend support for js bigint * cleanup * add tests * add -d:nimHasJsBigIntBackend * cleanup * more tests
* clean up old codes (#16284)flywind2020-12-091-1/+0
| | | | | | | * clean up old codes * fix docs and links * clean
* Use modern enums in compiler (#15775)cooldome2020-11-021-5/+5
|
* condsyms: add nimHasDeclaredLocs (#15735)Timothee Cour2020-10-271-0/+1
|
* implements https://github.com/nim-lang/RFCs/issues/258 (#15503)Andreas Rumpf2020-10-061-0/+2
| | | | | | | | | * implements https://github.com/nim-lang/RFCs/issues/258 * don't be too strict with custom pragma blocks * cast pragmas: documentation * added most missing inference query procs to effecttraits.nim
* finish the stacktraces.nim implementation [backport:1.2] (#15393)Andreas Rumpf2020-09-231-0/+1
|
* Big compiler Cleanup (#14777)Clyybber2020-08-281-1/+1
|
* Fix #5691 (#15158)Clyybber2020-08-271-0/+1
| | | | | | | | * Fix #5691 * Cleanup and thoughts * Use scope approach * Seperate defined/declared/declaredInScope magics * Fix declaredInScope * Update spec accordingly
* fix #14421 items uses lent T (#14447)Timothee Cour2020-05-291-0/+1
| | | | | * fix #14421 items uses lent T for seq + openArray * add -d:nimWorkaround14447 * fix test
* fixes #13881Andreas Rumpf2020-05-121-0/+1
| | | | | | * fixes #13881 * documented changed requirements for system.onThreadDestruction * destructors.rst: update the documentation