metagn
3aaef9e4cf
block ambiguous type conversion dotcalls in generics ( #22375 )
...
fixes #22373
2023-08-09 06:12:14 +02:00
ringabout
d136af0122
modernize lineinfos; it seems that array access hinders strict def analysis 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}
```
2023-08-09 08:18:47 +08:00
ringabout
73e661d01b
modernize compiler/reorder, which exposes yet another strictdefs bug ( #22415 )
...
```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.
2023-08-08 21:12:54 +08:00
ringabout
10a6e4c236
clean up gc:arc or gc:orc in docs and in error messages ( #22408 )
...
* clean up gc:arc/orc in docs
* in error messages
2023-08-08 05:55:18 -04:00
ringabout
bf5d173bc6
fixes LineTooLong hints on old compilers ( #22412 )
...
* fixes LineTooLong hints on old compilers
* fixes config/nim.cfg
2023-08-08 17:53:21 +08:00
ringabout
4c6be40b34
modernize compiler/filter_tmpl.nim ( #22407 )
2023-08-08 16:08:16 +08:00
Bung
37d8f32ae9
fix #18823 Passing Natural to bitops.BitsRange[T] parameter in generi… ( #20683 )
...
* fix #18823 Passing Natural to bitops.BitsRange[T] parameter in generic proc is compile error
2023-08-08 16:06:47 +08:00
ringabout
47d06d3d4c
fixes #22387 ; Undefined behavior when with hash(...) ( #22404 )
...
* fixes #22387 ; Undefined behavior when with hash(...)
* fixes vm
* fixes nimscript
2023-08-08 13:42:08 +08:00
Bung
0219c5a607
fix #22287 nimlf_ undefined error ( #22382 )
2023-08-08 06:13:14 +02:00
ringabout
b4b555d8d1
tiny change on action.nim ( #22405 )
2023-08-08 11:13:38 +08:00
ringabout
260b4236fc
use out parameters for getTemp ( #22399 )
2023-08-07 10:11:59 +02:00
Juan M Gómez
b5b4b48c94
[C++] Member pragma RFC ( https://github.com/nim-lang/RFCs/issues/530 ) ( #22272 )
...
* [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]
2023-08-07 10:11:00 +02:00
Bung
fe9ae2c69a
nimIoselector option ( #22395 )
...
* selectors.nim: Add define to select event loop implementation
* rename to nimIoselector
---------
Co-authored-by: Jan Pobrislo <ccx@webprojekty.cz >
2023-08-07 10:09:35 +02:00
ringabout
614a18cd05
Delete parse directory, which was pushed wrongly before [backport] ( #22401 )
...
Delete parse directory
2023-08-07 15:49:30 +08:00
ringabout
26eb0a944f
a bit modern code for depends ( #22400 )
...
* a bit modern code for depends
* simplify
2023-08-07 15:40:39 +08:00
ringabout
e7b4c7cddb
unify starting blank lines in the experimental manual ( #22396 )
...
unify starting blank lines in the experimental manal
2023-08-06 17:59:43 +02:00
ringabout
93ced31353
use strictdefs for compiler ( #22365 )
...
* wip; use strictdefs for compiler
* checkpoint
* complete the chores
* more fixes
* first phase cleanup
* Update compiler/bitsets.nim
* cleanup
2023-08-06 14:26:21 +02:00
konsumlamm
53586d1f32
Fix some jsgen bugs ( #22330 )
...
Fix `succ`, `pred`
Fix `genRangeChck` for unsigned ints
Fix typo in `dec`
2023-08-06 14:24:35 +02:00
SirOlaf
67122a9cb6
Let inferGenericTypes continue if a param is already bound ( #22384 )
...
* 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 <>
2023-08-06 14:23:00 +02:00
Bung
d2b197bdcd
Stick search result ( #22394 )
...
* nimdoc: stick search result inside browser viewport
* fix nimdoc.out.css
---------
Co-authored-by: Locria Cyber <74560659+locriacyber@users.noreply.github.com >
2023-08-06 19:07:36 +08:00
Bung
f18e4c4050
fix set op related to {sfGlobal, sfPure} ( #22393 )
2023-08-06 19:07:01 +08:00
Bung
95c751a9e4
fix #15005 ; [ARC] Global variable declared in a block is destroyed too… ( #22388 )
...
* fix #15005 [ARC] Global variable declared in a block is destroyed too early
2023-08-06 15:46:43 +08:00
Bung
137d608d7d
add test for #3907 ( #21069 )
...
* add test for #3907
2023-08-06 15:21:24 +08:00
ringabout
b2c3b8f931
introduces online bisecting ( #22390 )
...
* introduces online bisecting
* Update .github/ISSUE_TEMPLATE/bug_report.yml
2023-08-06 08:52:17 +08:00
Daniel Belmes
7bf7496557
fix server caching issue causing Theme failures ( #22378 )
...
* 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
2023-08-06 02:50:47 +08:00
norrath-hero-cn
e0396900ed
Prevent early destruction of gFuns, fixes AddressSanitizer: heap-use-after-free ( #22386 )
...
Prevent destruction of gFuns before callClosures
2023-08-05 19:38:32 +02:00
Andreas Rumpf
9872453365
destructors: better docs [backport:2.0] ( #22391 )
2023-08-05 19:35:37 +02:00
konsumlamm
e15e19308e
Revert adding generic V: Ordinal parameter to succ, pred, inc, dec ( #22328 )
...
* Use `int` in `digitsutils`, `dragonbox`, `schubfach`
* Fix error message
2023-08-06 00:38:46 +08:00
Andreas Rumpf
873eaa3f65
compiler/llstream: modern code for llstream ( #22385 )
2023-08-04 22:52:31 +02:00
Tomohiro
db435a4a79
Fix searchExtPos so that it returns -1 when the path is not a file ext ( #22245 )
...
* Fix searchExtPos so that it returns -1 when the path is not a file ext
* fix comparision expression
* Remove splitDrive from searchExtPos
2023-08-04 20:00:43 +02:00
norrath-hero-cn
73a29d72e3
fixes AddressSanitizer: global-buffer-overflow in getAppFilename on windows 10 ( #22380 )
...
fixes AddressSanitizer: global-buffer-overflow
2023-08-04 19:59:05 +02:00
Bung
26f183043f
fix #20883 Unspecified generic on default value segfaults the compiler ( #21172 )
...
* fix #20883 Unspecified generic on default value segfaults the compiler
* fallback to isGeneric
* change to closer error
* Update t20883.nim
2023-08-04 13:35:43 +02:00
Jake Leahy
3efabd3ec6
Fix crash when using uninstantiated generic ( #22379 )
...
* 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
2023-08-04 12:21:36 +02:00
ringabout
7c2a2c8dc8
fixes a typo in the manual ( #22383 )
...
ref 0d3bde95f5 (commitcomment-122093273)
2023-08-04 18:00:00 +08:00
ringabout
fb7acd6600
follow up #22322 ; fixes changelog ( #22381 )
2023-08-04 09:08:41 +02:00
konsumlamm
d37b620757
Make repr(HSlice) always available ( #22332 )
...
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
2023-08-04 05:29:48 +02:00
awr1
14bc3f3268
Allow libffi to work via koch boot ( #22322 )
...
* 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 >
2023-08-03 23:06:30 +02:00
SirOlaf
8d8d75706c
Add experimental inferGenericTypes switch ( #22317 )
...
* 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 >
2023-08-03 22:49:52 +02:00
Bung
6b913b4741
Revert "fix #22173 sink paramers not moved into closure (refc) (#22… ( #22376 )
...
Revert "fix #22173 `sink` paramers not moved into closure (refc) (#22359 )"
This reverts commit b40da812f7 .
2023-08-03 19:56:05 +02:00
Bung
b40da812f7
fix #22173 sink paramers not moved into closure (refc) ( #22359 )
...
* use genRefAssign when assign to sink string
* add test case
2023-08-02 14:08:51 +02:00
ringabout
825a0e7df4
fixes #22362 ; Compiler crashes with staticBoundsCheck on ( #22363 )
2023-08-02 11:00:34 +02:00
ringabout
f3a7622514
fixes #22360 ; compare with the half of randMax ( #22361 )
...
* fixes #22360 ; compare with the half of randMax
* add a test
2023-08-02 10:58:29 +02:00
Michal Maršálek
da368885da
Fix the position of "Grey" in colors.nim ( #22358 )
...
Update the position of "Grey"
2023-08-01 20:56:38 +02:00
ringabout
1d2c27d2e6
bump the devel version to 211 ( #22356 )
2023-08-01 16:48:52 +02:00
ringabout
a23e53b490
fixes #22262 ; fixes -d:useMalloc broken with --mm:none and --threads on ( #22355 )
...
* fixes #22262 ; -d:useMalloc broken with --mm:none and threads on
* fixes
2023-08-01 15:18:08 +02:00
Andreas Rumpf
35ff70f36c
Tomorrow is the release. I hope. ( #22353 )
2023-07-31 20:19:18 +02:00
ringabout
0b3ddd4e47
Revert "fixes #22246 ; generate __builtin_unreachable hints for case defaults" ( #22351 )
...
Revert "fixes #22246 ; generate `__builtin_unreachable` hints for case defaults (#22350 )"
This reverts commit b56df5c07f .
2023-07-31 22:14:15 +08:00
ringabout
b56df5c07f
fixes #22246 ; generate __builtin_unreachable hints for case defaults ( #22350 )
...
* fixes #22246 ; generate `__builtin_unreachable` hints
* use elif
* indentation
* fixes holy enums in sim
2023-07-31 16:02:52 +02:00
ringabout
569ccc50ff
fixes #22174 ; fixes destructor examples ( #22349 )
...
* fixes #22174 ; fixes destructor examples
* Update doc/destructors.md
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2023-07-31 15:37:24 +02:00
Bung
d51bc084fd
remove thread duplicated code ( #22348 )
2023-07-31 10:58:59 +02:00