| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
works better with strictdefs (#22436)
replaces `doAssert false` with `raiseAssert`, which works better with strictdefs
|
|
|
| |
getTemp and friends now return `TLoc`
|
|
|
|
|
| |
* adds support for functor in member
* improves functor test
|
| |
|
|
|
|
|
|
|
|
|
| |
* fix #19304 Borrowing std/times.format causes Error: illformed AST
* follow suggestions
* mitigate for #4121
* improve error message
|
|
|
| |
`initLocExpr` and friends now return TLoc
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove call-specific replaceTypeVarsN
* Run for all call kinds and ignore typedesc
* Testcase
---------
Co-authored-by: SirOlaf <>
|
| |
|
| |
|
| |
|
|
|
| |
* fix #5780
|
|
|
|
| |
(#22413)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix #12938 nim compiler assertion fail when literal integer is passed as template argument for array size
* use new flag tfImplicitStatic
* fix
* fix #14193
* correct tfUnresolved add condition
* clean test
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fixes #22419; async/closure environment does not align local variables
* Apply suggestions from code review
* Update tests/align/talign.nim
Co-authored-by: Jacek Sieka <arnetheduck@gmail.com>
* apply code review
* update tests
---------
Co-authored-by: Jacek Sieka <arnetheduck@gmail.com>
|
|
|
|
|
| |
* fix #20891 Illegal capture error of env its self
* fix innerClosure too earlier, make condition shorter
|
|
|
|
|
|
|
|
|
|
|
| |
It seems that `--stylecheck:error` acts up when the name forwards is involved.
```nim
proc thisOne*(x: var int)
proc thisone(x: var int) = x = 1
```
It cannot understand this at all.
|
| |
|
| |
|
|
|
| |
fixes #22373
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
like field access (#22420)
modernize lineinfos; array access hinders strict def analysis like field access
A bug ?
```nim
proc computeNotesVerbosity(): array[0..3, TNoteKinds] =
result[3] = {low(TNoteKind)..high(TNoteKind)} - {warnObservableStores, warnResultUsed, warnAnyEnumConv, warnBareExcept}
result[2] = result[3] - {hintStackTrace, hintExtendedContext, hintDeclaredLoc, hintProcessingStmt}
result[1] = result[2] - {warnProveField, warnProveIndex,
warnGcUnsafe, hintPath, hintDependency, hintCodeBegin, hintCodeEnd,
hintSource, hintGlobalVar, hintGCStats, hintMsgOrigin, hintPerformance}
result[0] = result[1] - {hintSuccessX, hintSuccess, hintConf,
hintProcessing, hintPattern, hintExecuting, hintLinking, hintCC}
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
```nim
{.experimental: "strictdefs".}
type
NodeKind = enum
nkImportStmt
nkStmtList
nkNone
PNode = ref object
kind: NodeKind
proc hasImportStmt(n: PNode): bool =
# Checks if the node is an import statement or
# i it contains one
case n.kind
of nkImportStmt:
return true
of nkStmtList:
if false:
return true
else:
result = false
var n = PNode()
echo hasImportStmt(n)
```
It compiles without warnings, but shouldn't. As a contrast,
```nim
{.experimental: "strictdefs".}
type
NodeKind = enum
nkImportStmt
nkStmtList
nkNone
PNode = ref object
kind: NodeKind
proc hasImportStmt(n: PNode): bool =
# Checks if the node is an import statement or
# i it contains one
case n.kind
of nkImportStmt:
result = true
of nkStmtList:
if false:
return true
else:
result = false
var n = PNode()
echo hasImportStmt(n)
```
This gives a proper warning.
|
|
|
|
|
| |
* clean up gc:arc/orc in docs
* in error messages
|
|
|
|
|
| |
* fixes LineTooLong hints on old compilers
* fixes config/nim.cfg
|
| |
|
|
|
|
|
| |
(#20683)
* fix #18823 Passing Natural to bitops.BitsRange[T] parameter in generic proc is compile error
|
|
|
|
|
|
|
| |
* fixes #22387; Undefined behavior when with hash(...)
* fixes vm
* fixes nimscript
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* [C++] Member pragma RFC #530
rebase devel
* changes the test so `echo` is not used before Nim is init
* rebase devel
* fixes Error: use explicit initialization of X for clarity [Uninit]
|
|
|
|
|
|
|
|
|
| |
* selectors.nim: Add define to select event loop implementation
* rename to nimIoselector
---------
Co-authored-by: Jan Pobrislo <ccx@webprojekty.cz>
|
|
|
| |
Delete parse directory
|
|
|
|
|
| |
* a bit modern code for depends
* simplify
|
|
|
| |
unify starting blank lines in the experimental manal
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* wip; use strictdefs for compiler
* checkpoint
* complete the chores
* more fixes
* first phase cleanup
* Update compiler/bitsets.nim
* cleanup
|
|
|
|
|
| |
Fix `succ`, `pred`
Fix `genRangeChck` for unsigned ints
Fix typo in `dec`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Play with typeRel
* Temp solution: Fixup call's param types
* Test result type with two generic params
* Asserts
* Tiny cleanup
* Skip sink
* Ignore proc
* Use changeType
* Remove conversion
* Remove last bits of conversion
* Flag
---------
Co-authored-by: SirOlaf <>
|
|
|
|
|
|
|
|
|
| |
* nimdoc: stick search result inside browser viewport
* fix nimdoc.out.css
---------
Co-authored-by: Locria Cyber <74560659+locriacyber@users.noreply.github.com>
|
| |
|
|
|
|
|
| |
(#22388)
* fix #15005 [ARC] Global variable declared in a block is destroyed too early
|
|
|
| |
* add test for #3907
|
|
|
|
|
| |
* introduces online bisecting
* Update .github/ISSUE_TEMPLATE/bug_report.yml
|
|
|
|
|
|
|
|
|
| |
* fix server caching issue causing Theme failures
* Fix tester to ignore version cache param
* fix case of people using -d:nimTestsNimdocFixup
* rsttester needed the same fix
|
|
|
|
|
| |
heap-use-after-free (#22386)
Prevent destruction of gFuns before callClosures
|
| |
|
|
|
|
|
|
|
| |
(#22328)
* Use `int` in `digitsutils`, `dragonbox`, `schubfach`
* Fix error message
|
| |
|
|
|
|
|
|
|
| |
* Fix searchExtPos so that it returns -1 when the path is not a file ext
* fix comparision expression
* Remove splitDrive from searchExtPos
|
|
|
|
|
| |
10 (#22380)
fixes AddressSanitizer: global-buffer-overflow
|
|
|
|
|
|
|
|
|
| |
* fix #20883 Unspecified generic on default value segfaults the compiler
* fallback to isGeneric
* change to closer error
* Update t20883.nim
|