Commit Graph

3574 Commits

Author SHA1 Message Date
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