| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
* 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
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* [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]
|
|
|
|
|
| |
* a bit modern code for depends
* simplify
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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 <>
|
| |
|
|
|
|
|
| |
(#22388)
* fix #15005 [ARC] Global variable declared in a block is destroyed too early
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
| |
* fix #20883 Unspecified generic on default value segfaults the compiler
* fallback to isGeneric
* change to closer error
* Update t20883.nim
|
|
|
|
|
|
|
| |
* Add test case
* Add in a bounds check when accessing generic types
Removes idnex out of bounds exception when comparing a generic that isn't fully instantiated
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Divert libffi from nimble path, impl into koch
* Typo in koch
* Update options.nim comment
* Fix CI Test
* Update changelog
* Clarify libffi nimble comment
* Future pending changelog
---------
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Infer generic bindings
* Simple test
* Add t
* Allow it to work for templates too
* Fix some builds by putting bindings in a template
* Fix builtins
* Slightly more exotic seq test
* Test value-based generics using array
* Pass expectedType into buildBindings
* Put buildBindings into a proc
* Manual entry
* Remove leftover `
* Improve language used in the manual
* Experimental flag and fix basic constructors
* Tiny commend cleanup
* Move to experimental manual
* Use 'kind' so tuples continue to fail like before
* Explicitly disallow tuples
* Table test and document tuples
* Test type reduction
* Disable inferGenericTypes check for CI tests
* Remove tuple info in manual
* Always reduce types. Testing CI
* Fixes
* Ignore tyGenericInst
* Prevent binding already bound generic params
* tyUncheckedArray
* Few more types
* Update manual and check for flag again
* Update tests/generics/treturn_inference.nim
* var candidate, remove flag check again for CI
* Enable check once more
---------
Co-authored-by: SirOlaf <>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
|
|
|
|
| |
(#22376)
Revert "fix #22173 `sink` paramers not moved into closure (refc) (#22359)"
This reverts commit b40da812f7aa590ed16df54a492684c228320549.
|
|
|
|
|
| |
* use genRefAssign when assign to sink string
* add test case
|
| |
|
|
|
|
|
|
|
| |
defaults" (#22351)
Revert "fixes #22246; generate `__builtin_unreachable` hints for case defaults (#22350)"
This reverts commit b56df5c07f7dc9ac9d718ca47c10b0683a9b916f.
|
|
|
|
|
|
|
|
|
| |
* fixes #22246; generate `__builtin_unreachable` hints
* use elif
* indentation
* fixes holy enums in sim
|
|
|
|
|
|
|
| |
param (#22337)
* fixes an issue where byref wasnt properly handled when using it in a generic param
* removes unreachable check
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
| |
* [JS] Fix bitwise ops & shifts
* Test `int64` & `uint64` only with `jsbigint64`
|
|
|
|
|
| |
* [JS] Fix casting to ints
* Simplify `genCast` by using `asUintN`/`asIntN`
|
|
|
|
|
|
|
|
|
|
|
| |
discriminator with defaults (#22303)
* fixes #22301; rejects branch initialization with a runtime discriminator with defaults
* undefault nimPreviewRangeDefault
* fixes tests
* use oldCheckDefault
|
|
|
| |
change stmt to complexOrSimpleStmt in the top grammar rule
|
|
|
|
|
| |
* fixes #22321; Building DLL with --noMain produces an unexpected DllMain on devel branch
* remove implicit nomain
|
|
|
|
|
|
|
| |
* Expands codegenDecl to work in function params. fixes #22306
* makes the test more concrete so T{lit} params dont match
* adds sfCodegenDecl
|
|
|
|
|
|
|
| |
(#22318)
* implemented 'push quirky' switch for fine grained control over the exception handling overhead
* documentation
|
|
|
| |
Co-authored-by: SirOlaf <>
|
| |
|
|
|
| |
Co-authored-by: SirOlaf <>
|
|
|
| |
ref #22297; return in the finally in the closure iterators
|
|
|
|
|
| |
* fixing minor typo
* Adding err msg
|
|
|
| |
Pass the config down so we can check if the `--showNonExports` flag is used
|
| |
|
| |
|
| |
|
|
|
| |
Respect `--gcc.exe` and similar options when `--genScript:on` is used.
|