LemonBoy
5afcd09cb3
Pervasive replacement of nkRecWhen in generic types
...
Long story short, even if the type contains no reference at all to its
generic parameters we still have to walk its AST and evaluate any
nkRecWhen nodes that semRecordNodeAux skipped due to the type being a
generic one.
We also must be careful to modify the type `n` node in place since it
may be referenced by the caller as seen in the tillegaltyperecursion
test.
Moreover we also can't have the nkSym drift away from their original
values in order not to break the JS nkObjConstr codegen.
2018-10-19 22:17:38 +02:00
Dominik Picheta
7532b37405
Don't skip poll() when no handles are present. ( #8727 )
...
Fixes #7886 .
Fixes #7758 .
Fixes #6929 .
Fixes #3909 .
Replaces #8209 .
2018-08-23 16:31:28 +02:00
Tim
55a8649749
Decrease source code size in htmlparser and add one check ( #8690 )
2018-08-23 10:30:16 +02:00
Oscar Nihlgård
d6d3f092a3
Fix for module alias inside brackets ( #8726 )
2018-08-23 10:23:02 +02:00
awr1
bf973d29da
Fixes #8719 (onFailedAssert now works for doAssert) ( #8731 )
2018-08-23 10:20:58 +02:00
Timothee Cour
52bee6baba
partially fix #8218 : nim doc --project ( #8737 )
2018-08-23 10:18:10 +02:00
Timothee Cour
b02bc66197
better formatting for recursive module dependency ( #8735 )
2018-08-23 08:19:03 +02:00
Oscar Nihlgård
1d93991929
Cleanup ttimes ( #8714 )
...
* Refactor fromWinTime
* Cleanup ttimes
2018-08-22 17:20:41 +02:00
Oscar Nihlgård
7dcf435b4b
Fix abs & unary sub in semfold ( #8724 )
2018-08-22 15:59:33 +02:00
LemonBoy
d94ee75d1c
Pick skParam symbols when resolving type idents ( #8720 )
...
Fixes #8357
2018-08-22 15:49:43 +02:00
cooldome
d0f4a929e0
fixes 8594 ( #8721 )
2018-08-22 12:16:18 +02:00
LemonBoy
a87341775a
Don't consider tyAnd/tyNot/tyOr/tyAnything as generic ( #8700 )
...
* Don't consider tyAnd/tyNot/tyOr/tyAnything as generic
`containsGenericType` was too shallow and didn't check all the branches.
The resulting half-processed nodes are often simplified by the constant
folding pass but when that's not possible we get a nasty error during
codegen.
Fixes #8693
* Move the blame onto the semFold pass
Slightly better evaluation of `is` forms.
2018-08-22 09:40:31 +02:00
Dominik Picheta
3e7aaa7087
Fixes #8716 . ( #8717 )
2018-08-22 00:18:17 +02:00
Iván Montes
e66d9c9381
Cosmetic: fix typo on TRIPLESTR_LIT ( #8663 )
2018-08-21 22:17:19 +02:00
zah
96de224a63
Fix #8126 ( #8712 )
...
This is a temporary fix that will be reworked in a follow up commit
that aims to eliminate the tfExplicit flag from the compiler. The
complete and proper fix was considered too risky for inclusion just
before our 0.19 release.
2018-08-21 22:14:12 +02:00
LemonBoy
8e435d7b0c
HTML generation in testament works again ( #8702 )
...
Fallout from the nil-str patch. Nothing to see here, move along.
2018-08-21 15:15:14 +02:00
LemonBoy
cf20c4460c
More robust handling of deprecated pragmas ( #8696 )
...
Prevent `deprecated` annotations to "slip" up to the parent module and
warn about unsupported annotations.
Accidentally fixes #7867
2018-08-21 15:07:44 +02:00
LemonBoy
bbe5e8326b
sfForward is also sfReorder for skModule symbols ( #8692 )
...
Take this into account while searching for undefined forward references.
Fixes #8665
2018-08-21 14:51:23 +02:00
Timothee Cour
0dd31a4f97
fix typo in changelog.md: nnkTupleConst => nnkTupleConstr
2018-08-21 13:10:38 +01:00
Dmitry Atamanov
b75808c7d9
Fixes ropes regressions due to the not-nil strings ( #8687 )
2018-08-20 16:55:22 +02:00
LemonBoy
b28c7d434b
Update all the default parameters after an instantiation ( #8689 )
...
The old implementation relied on the (now?) wrong assumption that
default-valued parameters can only be placed after the required ones.
Fixes #8683
2018-08-20 16:54:13 +02:00
Andreas Rumpf
2def616069
exploit nil seqs for performance ( #8688 )
...
* changes $ for seqs to never produce 'nil'
* exploit the fact that empty seqs don't have to allocate in the code generator
2018-08-20 11:54:18 +02:00
Στέφανος
f87a91a3ec
Fixed a minor typo ( #8685 )
2018-08-20 09:40:56 +02:00
LemonBoy
b5171f57ef
Expand tyAlias in typeToString ( #8634 )
...
Fixes #8339
2018-08-18 15:27:47 +02:00
Araq
887987bb1a
every .experimental feature has a corrsponding 'nimHasX' define; fixes #8644 ; refs #8672
2018-08-18 01:21:47 +02:00
Dominik Picheta
ced1c13571
Use project name in install tmpl and ensure config dir is created.
2018-08-17 16:26:23 +01:00
Dominik Picheta
eff7e42d7b
Fixed install scripts for #8653 .
2018-08-17 16:21:37 +01:00
Oscar Nihlgård
5f184eca10
Update changelog
2018-08-17 15:51:02 +01:00
Oscar Nihlgård
33ed8f7e73
times.Timezone changes ( #8527 )
...
* Use floorDiv in times.nim
* New implementation of times.Timezone
* Tweak doc comments
* Fix typo
2018-08-17 11:12:58 +02:00
Oscar Nihlgård
b77d910e4e
Remove broken push pragma from jscore ( #8414 )
2018-08-17 11:11:55 +02:00
alaviss
7898f2a785
scriptconfig: register passes once ( #8590 )
...
fixes #8235
2018-08-17 11:09:33 +02:00
Kaushal Modi
d73b19e379
Look for user nim.cfg in "nim/" subdir in usual config dir locations ( #8662 )
...
Fixes https://github.com/nim-lang/Nim/issues/8661 .
2018-08-17 10:52:10 +02:00
Arne Döring
ce4383be3b
fixes #8658 ; addQuoted on Option[T] ( #8659 )
2018-08-17 01:24:28 +02:00
LemonBoy
ac0f5c83ca
Fixes 8535 ( #8591 )
...
* Goodbye postInitProc
* Give preInitProc its own scope
Avoid any conflict between the variables introduced by preInitProc and
initProc since both are codegen'd in the same function body.
* Fix codegen for global var init in emulated TLS
Fixes #8535
* Add test for #8535
* Keep a bogus stack frame around
* Remove more dead code
2018-08-17 00:34:27 +02:00
Timothee Cour
af037546b0
fixes #7187 sequtils.toSeq produces the sequence from the iterator twice ( #8586 )
...
* cleanups refs #8584
* fixes #7187
2018-08-16 23:19:36 +02:00
Andreas Rumpf
3ca8ebe778
fixes #8653
2018-08-16 18:49:22 +02:00
Emery Hemingway
2da0341b4d
Genode fixes ( #8501 )
...
* Genode fixes
- wrap strings in "Genode::Cstring" when logging
- define SIGABRT for Genode
- disable GCC -fstack-protector
- use log RPC for fatal messages
- add --os:genode build to appveyor
- define paramStr and paramCount
* Select fixups for Genode POSIX
2018-08-16 18:12:37 +02:00
Timothee Cour
87b2d2aad6
added a variant of quoteShellCommand that takes an openArray of arguments ( #8272 )
2018-08-16 14:10:16 +02:00
Araq
2870ca5d71
Merge branch 'araq-misc' into devel
2018-08-16 12:30:00 +02:00
Andreas Rumpf
d82dd3c47d
attempt to make travis green
2018-08-16 09:05:19 +02:00
Timothee Cour
e05d0ea0bb
tester.nim add more diagnostics ( #8631 )
2018-08-16 00:54:39 -04:00
Andreas Rumpf
e4c759fbff
Merge branch 'devel' into araq-misc
2018-08-16 01:22:21 +02:00
Andreas Rumpf
b78114ce50
minor edit to the changelog
2018-08-16 00:23:37 +02:00
Andreas Rumpf
1061e26bc9
implements 'case statement macros' in order to encourage the development of pattern matching mechanisms that are not terrible to look at
2018-08-16 00:16:49 +02:00
Andreas Rumpf
da41fc1801
put the new for loop macros under an experimental switch named 'forLoopMacros'
2018-08-15 17:45:57 +02:00
Andreas Rumpf
27e1fbe7db
implement the --nilseqs switch properly
2018-08-15 16:56:32 +02:00
Andreas Rumpf
0da91aa744
changes how the now illegal 'string == nil' comparison is detected
2018-08-15 16:31:56 +02:00
LemonBoy
531c66d1ec
Allow taking address of skForVar variables ( #8632 )
...
Fixes #8630
2018-08-14 21:28:14 +02:00
Andreas Rumpf
94684488d6
make more tests green
2018-08-14 21:15:03 +02:00
LemonBoy
c04404635b
Fix unsound transform pass ( #8633 )
...
When a `var openArray[T]` function parameter goes trough the
`transformAddrDeref` pass we may lose the `var` specifier, leading to
nasty crashes at runtime.
2018-08-14 20:38:04 +02:00