Andreas Rumpf
61a0eba14f
Merge branch 'zahary' into araq2
2017-05-17 15:27:04 +02:00
Andreas Rumpf
503f780676
Merge branch 'zahary' into araq2
2017-05-16 17:32:18 +02:00
jcosborn
ec50dab57d
fixed macros.getTypeImpl for a symbol of type tyGenericBody ( #5788 ) ( #5812 )
...
* fixed macros.getTypeImpl for a symbol of type tyGenericBody
* added test case and commented test code
2017-05-14 15:08:41 +02:00
Zahary Karadjov
672c24e4b8
fix affecting templates with explicit generic params
2017-05-13 20:48:44 +03:00
Zahary Karadjov
05bfa47996
fix tinvalidinout
2017-05-13 18:51:28 +03:00
Zahary Karadjov
b428da2cc2
work-around for defining imported types with weak covariance
2017-05-13 15:46:08 +03:00
Zahary Karadjov
0aede22e87
enforce the covariance rules for user-defined generic types
2017-05-13 14:38:07 +03:00
Zahary Karadjov
f4e73344d4
covariance for arrays and sequences
2017-05-12 18:42:46 +03:00
Zahary Karadjov
a802d72452
doh, forgot to add all files in the previous commit
2017-05-12 12:46:09 +03:00
Parashurama
2e420dfa38
fixes multiple nil-checks for methods ( #5806 )
2017-05-12 11:21:43 +02:00
Ruslan Mustakov
29507d2491
Consider optNoCppExceptions in blockLeaveActions ( #5801 )
2017-05-11 22:30:48 +02:00
Yuriy Glukhov
6e0e3b75cf
Fixed const sets in JS ( #5790 )
2017-05-10 09:29:30 +02:00
Zahary Karadjov
5e368f3639
support for external types with covariant generic params
2017-05-08 21:45:37 +03:00
Andreas Rumpf
c22e0d414d
fixes an internal compiler error when json.to is used wrongly
2017-05-06 11:53:15 +02:00
Andreas Rumpf
c1aa973758
Merge branch 'devel' of github.com:nim-lang/Nim into devel
2017-05-04 10:58:21 +02:00
Araq
6377b52d8e
Merge branch 'devel' of github.com:nim-lang/Nim into devel
2017-05-02 01:24:19 +02:00
Araq
bea07a2c5c
fixes #5752
2017-05-02 01:24:10 +02:00
Andreas Rumpf
962d03d671
isDeepConstExpr helper can handle nkRange
2017-05-01 09:31:29 +02:00
Andreas Rumpf
56a5c249c9
JS codegen: produce better code for constant sets
2017-05-01 09:30:56 +02:00
Zahary Karadjov
2a34552596
fix 5756
2017-04-30 22:28:20 +03:00
Zahary Karadjov
c981284ddc
a simple way to simulate covariance in generic types
2017-04-28 17:40:57 +03:00
Zahary Karadjov
bc01835091
Allow tyOr,tyAnd and tyNot to be constructed in more contexts
2017-04-28 17:07:54 +03:00
Andreas Rumpf
3d34a9f6d3
js codegen: emit more line information
2017-04-26 12:50:36 +02:00
Andreas Rumpf
920888f382
fixes tuple unpacking regression
2017-04-26 11:10:50 +02:00
Andreas Rumpf
2da66fef77
Merge branch 'devel' of github.com:nim-lang/Nim into devel
2017-04-26 10:28:03 +02:00
Andreas Rumpf
7b1568d19c
make -d:nimdiff feature more robust
2017-04-26 10:27:42 +02:00
Araq
05c20bc4ff
fixes a parser bug
2017-04-25 19:36:05 +02:00
cooldome
c6a8bd264e
Fix for #5695 make subscript operator overloadable for tuples ( #5749 )
2017-04-24 20:17:06 +02:00
Andreas Rumpf
1aede6d311
Merge branch 'devel' of github.com:nim-lang/Nim into devel
2017-04-24 10:00:53 +02:00
Andreas Rumpf
7cba41db23
make nimble compile again
2017-04-22 14:58:53 +02:00
Andreas Rumpf
3f5ababfe8
make sighashes work in more cases
2017-04-21 17:01:57 +02:00
Araq
4b76d9846b
Merge branch 'devel' of github.com:nim-lang/Nim into devel
2017-04-19 15:20:54 +02:00
Araq
5018f6fa15
fixes #5729
2017-04-19 15:20:46 +02:00
Andreas Rumpf
b7bffa35c7
attempt to make sighashes produce smaller diffs
2017-04-19 08:40:05 +02:00
Zahary Karadjov
3e52bb6535
fix a regrsesion in signature matching of derived ptr types
2017-04-18 23:55:59 +03:00
Zahary Karadjov
13701c0957
Restore the compilation of linalg by tweaking the complex disambiguation rules
...
This commit is a potentially breaking change, but the problem was that
linalg was relying on a previous bug in the compiler, which was fixed
in the concepts branch.
With the old disambiguation rules, generic procs like:
proc \`==\`[T](lhs, rhs: T)
and
proc \`==\`(lhs, rhs: Matrix32|Matrix64)
.. were considered equal, even though it's obvious that the second one
should be preferred. We never noticed this, because there was a bug in
sigmatch incorrectly counting one of the params of the second proc as
a non-generic match, thus giving it an edge.
This commit gives some preference to tyOr and tyAnd during the complex
disambiguation, which may affect overload resolution in other cases.
I see this only as a temporary solution. With my upcoming work on
concept refinement, I plan to provide an experimental implementation
of alaternative C++-like rules for determining which proc is more specific.
We can then discuss our strategy for dealing with such a breaking change.
2017-04-16 16:11:45 +03:00
Zahary Karadjov
2da4a4fbe3
fix regression in tmatrixconcept
2017-04-16 14:39:00 +03:00
Zahary Karadjov
4da8536701
fix compilation regression in alea
2017-04-16 13:42:33 +03:00
Zahary Karadjov
dfbafff2e7
fix a compilation error in linalg
2017-04-16 02:44:58 +03:00
Zahary Karadjov
bf4ce87e5b
fix #5689
2017-04-15 02:53:28 +03:00
Zahary Karadjov
d578815963
fix #5683
2017-04-14 23:54:09 +03:00
Zahary Karadjov
8de19a7f4c
fix a parsing regression (do is still mandatory in some situations)
2017-04-14 23:48:43 +03:00
Andreas Rumpf
55b5401dc6
fixes yet another regression caused by the .procvar removal
2017-04-14 19:18:26 +02:00
Jacek Sieka
e512358bc9
Linux abi take 3 ( #5692 )
...
* avoid generating object fields for imported types
* fix some abi/type issues for linux_amd64
2017-04-12 22:57:10 +02:00
Zahary Karadjov
54a1d9c16a
wip
2017-04-11 00:48:52 +03:00
Zahary Karadjov
a3f19c87fb
lift parameter-less do block to lambdas
2017-04-10 23:58:05 +03:00
Zahary Karadjov
f7b10e213b
support post expression blocks in return and yield
2017-04-10 17:26:50 +03:00
Zahary Karadjov
8b63b84924
fix a regression in tlexerex
2017-04-10 13:06:06 +03:00
Zahary Karadjov
8cb11aac4f
adapt quote to the new parsing rules
2017-04-10 12:23:04 +03:00
Zahary Karadjov
e7eb01ed48
fix a parsing regression (calls with do inside param lists)
...
This treatment is applied only when "do" is used, because
the code foo(x: bar) is recognized as object construction.
2017-04-10 12:08:40 +03:00