Commit Graph

3582 Commits

Author SHA1 Message Date
Araq
d3f0f87e81 niminst: add missing nimsuggest tool; small koch.nim cleanup 2017-05-17 23:59:53 +02:00
Araq
8f67b90997 Merge branch 'araq2' into devel 2017-05-17 22:13:57 +02:00
Andreas Rumpf
7a95c961a7 cleanup of in/out covariance handling 2017-05-17 20:54:53 +02:00
Dominik Picheta
06415eb69d Fixes #5821 (float32 literal comparison issue) (#5825)
* Remove processing hints for async procs.
* Fixes #5821.
2017-05-17 15:57:06 +02:00
Andreas Rumpf
61a0eba14f Merge branch 'zahary' into araq2 2017-05-17 15:27:04 +02:00
Araq
943aaecbe7 Merge branch 'devel' of github.com:nim-lang/Nim into devel 2017-05-16 22:09:37 +02:00
Yuriy Glukhov
6599cae281 Async macro fixes (#5739) 2017-05-16 22:09:19 +02:00
Araq
ac3e7edfe4 weaken the rules for proc definition pragmas that have been forwarded 2017-05-16 22:07:44 +02:00
Markus F.X.J. Oberhumer
8d3f477fad Create correct C protoypes in genMainProc. (#5822)
This avoids a -Wstrict-prototypes warning in the generated C file.
2017-05-16 21:04:12 +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