LemonBoy
ab47a870bc
Error out if vararg match isn't an exact one ( #8186 )
...
Fixes #8172
2018-07-03 15:10:12 +02:00
Vindaar
681d8e0749
Deprecate 'c', 'C' prefix for octal literals, fixes #8082 ( #8178 )
...
* deprecate `0c`, `0C` prefix for octal literals
Deprecates the previously allowed syntax of `0c` and `0C` as a prefix for
octal literals to bring the literals in line with the behavior of
`parseOct` from parseutils.
* add `msgKind` arg to `lexMessageLitNum` for deprecation messages
* change literal tests to check all valid integer literals
Also adds the `tinvaligintegerlit3` test to test for the (still)
invalid `0O` prefix.
2018-07-03 01:56:36 +02:00
genotrance
70cf286a22
Test case for #6281 ( #8190 )
2018-07-02 22:53:00 +02:00
Tomohiro
c79f488027
Fix os.unixToNativePath proc returns wrong result( #8179 ) ( #8181 )
...
* Fix os.unixToNativePath proc returns wrong result(#8179 )
* Add tests for unixToNativePath
2018-07-02 17:14:26 +02:00
LemonBoy
2c98b4943e
Fix crash with static and anonymous procs ( #8171 )
...
Fixes #6077
2018-07-02 00:49:03 +02:00
Andreas Rumpf
e455023902
Merge branch 'devel' into araq-devel
2018-07-01 16:24:56 +02:00
LemonBoy
dbbe311e18
Minor changes to discardable handling ( #8155 )
2018-07-01 15:27:14 +02:00
LemonBoy
584d778318
Fix use of custom pragmas in generic procs ( #8165 )
...
Fixes #7626
2018-07-01 08:06:58 +02:00
LemonBoy
eec239e851
Fix constant folding of len() with concept type ( #8143 )
...
Fixes #7952
2018-06-30 13:43:55 +02:00
Oscar Nihlgård
7ae9c4358e
Fix vm regression ( #8163 )
2018-06-30 13:38:52 +02:00
Oscar Nihlgård
d146045ed5
Fixes #6689 ( #8135 )
2018-06-30 09:16:46 +02:00
LemonBoy
0a14b3d198
Check the RHS when building a set ( #8159 )
...
Fixes #2669
2018-06-30 09:16:14 +02:00
Oscar Nihlgård
ae69e571e1
VM regression fixes ( #8146 )
2018-06-29 16:00:53 +02:00
LemonBoy
64c84a7d11
Fix codegen for mInSet magic and empty sets ( #8140 )
...
Fixes #8041
2018-06-29 15:10:51 +02:00
Andreas Rumpf
c7298561c1
system.nim: remove deprecated symbols
2018-06-28 07:42:46 +02:00
LemonBoy
cecce80d42
Fix template codegen with static parameters ( #8110 )
...
* Fix template codegen with static parameters
Fixes #7477
* Move the test case to tstaticimportcpp
2018-06-27 22:46:46 +02:00
LemonBoy
52fc16d5d2
Return an error symbol as macro output if needed ( #8116 )
...
Return an error symbol if the macro output has no type and a typedesc
is expected.
Fixes #7454
2018-06-27 21:43:07 +02:00
LemonBoy
7f148838a4
Reject ptr/ref void types ( #8127 )
...
Do this during the semantic pass to avoid tripping the following passes.
Fixes #6454
2018-06-27 21:41:40 +02:00
LemonBoy
722abbe9c9
Reject enums with holes when computedGoto is used ( #8132 )
...
Fixes #7699
2018-06-27 21:36:52 +02:00
LemonBoy
bb23d903b6
Don't consider concept types as non-complex during codegen ( #8119 )
...
Fixes #7125
2018-06-27 17:21:53 +02:00
Hiroki Noda
a85493610c
Lexer: do not accept some invalid integer literals ( #8089 )
...
* Lexer: do not accept some invalid integer literals
* Use Natural instead of uint, and result variable
2018-06-27 17:07:26 +02:00
Andreas Rumpf
d8f7174dda
Merge pull request #7736 from cooldome/range_float_type
...
Language feature: range float types
2018-06-27 00:08:21 +02:00
Andreas Rumpf
7cec5d1cfb
Merge pull request #7681 from nim-lang/typedesc-reforms
...
Typedesc reforms
2018-06-26 23:53:30 +02:00
Andreas Rumpf
ccb1514837
Merge pull request #8108 from LemonBoy/fix-5958
...
Make `static` blocks introduce their own scope
2018-06-26 23:16:40 +02:00
Oscar Nihlgård
236bc06b5f
Improve vm support for ref types
2018-06-26 21:25:27 +02:00
Andreas Rumpf
2a3a128e36
Merge branch 'devel' into typedesc-reforms
2018-06-26 18:33:51 +02:00
LemonBoy
f559e62e45
Adjust some tests to make them pass
...
The non-scoped behaviour of static blocks was exploited by those tests,
replace all the variables declared whithin one with compileTime marked
ones.
2018-06-25 15:56:13 +02:00
LemonBoy
9543689306
Make static blocks introduce their own scope
...
Treat the static block as a normal block, don't leak any identifier in
the outer scope.
Fixes #5958
2018-06-24 18:27:40 +02:00
LemonBoy
bfa3d62cc1
More concept fixes
...
Fixes #7705 , #7703 , #7702
2018-06-24 15:13:34 +02:00
Andreas Rumpf
105a472dc5
Merge pull request #8084 from LemonBoy/fix-7905
...
Discriminate gensym'd type names in sigHash
2018-06-24 09:54:00 +02:00
LemonBoy
e39baf46fc
Don't blow up with recursive objects
2018-06-22 19:47:44 +02:00
LemonBoy
af66258dca
Discriminate gensym'd type names in sigHash
...
The root cause of #7905 lies in the codegen phase. The two template
instantiations generate two different MyType types with different
members but same t.sym.name leading the caching mechanism to confuse
the two.
Fixes #7905
2018-06-22 13:09:33 +02:00
Andreas Rumpf
6015749720
Merge pull request #8062 from LemonBoy/fix-7825
...
Fix constant folding for shl/not
2018-06-21 00:35:17 +02:00
LemonBoy
fb62dd1fae
Fix constant folding for shl/not
...
Since the source and destination types are the same the result should be
trimmed to fit.
2018-06-19 22:32:15 +02:00
gemath
db68bbe4f7
Pegs AST read access ( #8050 )
...
* Make PEG AST nodes readable from outside the module.
* Added a test module for the pegs stdlib module.
* Edited changelog.
* Renamed ``sons`` iterator to ``items``, added ``pairs``, inlined both.
* Updated entry and moved it to the right category.
2018-06-19 18:13:33 +01:00
Andreas Rumpf
3ca11def6d
Merge pull request #7771 from nim-lang/nim-in-action-fixes
...
Higher Nim in Action coverage plus regression fix.
2018-06-19 17:52:05 +02:00
Dominik Picheta
03b073d541
Workaround VM bug in strutils
2018-06-17 23:26:18 +01:00
Andreas Rumpf
dbcdc4331a
testament: minor code formating change
2018-06-17 14:16:01 +02:00
Dominik Picheta
9e86237855
Adds smaller code samples from Chapters 1-3 to the tester.
2018-06-17 00:12:51 +01:00
Zahary Karadjov
31651ecd61
allow referencing other parameters in default parameter values
...
fix #7756
fix #1201
fix #7000
fix #3002
fix #1046
2018-06-16 16:46:32 +03:00
Zahary Karadjov
e719f211c6
fix #6928 ; fix #7208
2018-06-16 16:46:32 +03:00
Zahary Karadjov
16b594b532
Support default type parameters
...
progress on #7516
2018-06-16 16:46:32 +03:00
Zahary Karadjov
5bcf8bcb59
fixes #7222 ; fixes #5595 ; fixes #3747
...
* late instantiation for the generic procs' default param values
* automatic mixin behaviour in concepts
Other fixes:
* don't render the automatically inserted default params in calls
* better rendering of tyFromExpr
2018-06-16 16:46:32 +03:00
Zahary Karadjov
a49b06a52a
Implement the is operator for the new static and typedesc type classes
...
This also makes the first baby steps towards a sound treatment of
higher-order kinds (type type int).
Adds test cases showcasing the new features.
* Also fixes breakage after the rebase
2018-06-16 16:46:32 +03:00
Zahary Karadjov
ab9969ed3b
Bugfix: the size of an array may be a static tuple element
2018-06-16 16:46:32 +03:00
Zahary Karadjov
509d6e9232
Bugfix: aliases to generic types were not considered implicit generic parameters
2018-06-16 16:46:32 +03:00
Zahary Karadjov
fb27357b62
A minimal patch enabling the new typedesc and static types syntax
2018-06-16 16:46:32 +03:00
Zahary Karadjov
8633b1b309
Starting test recording the current state of the parser
...
In the next commit, I'll introduce changes to the parser bringing
consistent handling of all type modifiers (ref, ptr, var, static
and type). The goal of this commit is to record precisely what is
going to be changed (i.e. by allowing you to look at the diff).
To preserve the diff, please don't squash upon merging.
2018-06-16 16:46:32 +03:00
Andreas Rumpf
ee16e62061
Merge pull request #8039 from yglukhov/proc-pragmas
...
Fixed stacktrace/linetrace proc pragmas when appended by macro pragma
2018-06-16 01:59:06 +02:00
Yuriy Glukhov
78cbf6734a
Added more tests to toverflw
2018-06-15 19:46:17 +03:00