Commit Graph

3683 Commits

Author SHA1 Message Date
Arne Döring
6f7f043c9b Fix type recursion check (#11144)
* fixes #3456
* add test #3456
2019-05-07 08:29:17 +02:00
Jasper Jenkins
a6ba3116b2 Fixes for ptr array deref codegen (#11191)
* fixes for ptr array derefence codegen
* fix comments, make diff nicer
2019-05-07 08:14:38 +02:00
Araq
2475d92c36 fixes #10192 2019-05-06 21:42:49 +02:00
Oscar Nihlgård
4c6fc173b7 low/high for float ranges (#11177) 2019-05-06 21:19:40 +02:00
jcosborn
b1091f85d4 fixes #9578 (#11176)
* fixes #9578

* fixed and expanded test
2019-05-06 09:34:03 +02:00
Araq
0ecaaa85e9 fixes #9403 2019-05-05 16:08:16 +02:00
nc-x
e42c304e4a Fix loop tuple unpacking in templates (#11174)
* Fix loop tuple unpacking in templates

* Add test
2019-05-05 12:22:41 +02:00
Clyybber
4fd79f5b47 Fix #11058 (#11172) 2019-05-05 08:26:22 +02:00
Jasper Jenkins
6e4ea40475 empty container param error msg (#11158) 2019-05-04 23:28:09 +02:00
Miran
ce152ed91f iterators: several small fixes (#11162)
* fix pairs, mpairs, mitems for cstring for JS backend
* add mutation check for pairs and mpairs for strings and seqs
* change the assertion message - modifying (changing elements) is not
  a problem, changing the length is
2019-05-04 23:02:50 +02:00
Aditya Siram
cc2be5e4c6 Fixes #11045. Assigning a proc to const and invoking. (#11076) 2019-05-04 22:57:15 +02:00
cooldome
d3db189eb4 Destructor lifting fixes #11149 (#11163)
* fixes #11149

* add test
2019-05-04 22:34:37 +02:00
Arne Döring
9c3e23e075 Fix ..< iterator (#11103)
* add iterator overloads

* add test
2019-05-03 23:43:41 +02:00
narimiran
515ab81477 add whitespace on the right-hand side of --
This is an em-dash, not some `--use` flag.
2019-05-03 11:33:29 +02:00
Araq
9ad96b58e6 decent borrow check for --newruntime 2019-05-02 11:46:38 +02:00
Araq
6e3a4ebf6a added unown test case 2019-04-29 13:36:00 +02:00
Andreas Rumpf
55aa2129b5 make twidgets example green (#11135) 2019-04-28 13:28:18 +02:00
Arne Döring
a432aedb54 Generic tuple recursion fix (#11115)
* fixes #1145
* unify error messages
2019-04-28 10:11:41 +02:00
Lolo Iccl
69755542f4 add progmas to params of macros.newProc (#11025)
Merging
2019-04-27 12:22:02 +01:00
Andreas Rumpf
46ce797231 newruntime: progress... 2019-04-27 09:36:34 +02:00
Araq
b350a9fc52 preparations to make the twidgets test work 2019-04-26 15:44:06 +02:00
Andreas Rumpf
eb9043c0e9 fixes #11095 (#11104)
* fixes #11095
2019-04-25 07:59:34 +02:00
Araq
4f93669754 fixes #11065 2019-04-22 10:11:37 +02:00
Araq
665fcb12dd fixes #11073 2019-04-22 08:05:16 +02:00
Andreas Rumpf
fabc2a7086 revert discardable transformation (#10905)
* Revert "Properly wrap discarded statements (#10322)"

This reverts commit 15584879b9.

* add test for implicit discard after defer
* enable t10241 again
* make C++ tests green again
2019-04-21 09:57:53 +02:00
Andreas Rumpf
0121dda9ba remove the restriction that module names need to be unique per Nimble… (#11064)
* remove the restriction that module names need to be unique per Nimble package

* make tests green again

* use the 'response' linker file also on Unix in order to fix megatest
2019-04-20 15:19:02 +02:00
Andreas Rumpf
44ec66bd48 fixes #11053 2019-04-19 18:02:43 +02:00
Arne Döring
a55817f9ac Fix varargs int32 (#11054)
* fixes #10999
* adds a test for #10999
2019-04-18 20:53:57 +02:00
Araq
7640a230fc fixes #11050 2019-04-17 17:26:59 +02:00
cooldome
7d8af25d58 revert parser stmtListExpr (#11007)
* Revert "Support for stmtListExpr in parser after major keywords. Scaled down version. (#10852)"

This reverts commit 862897dc0f.

* redo fix for #4035

* render stmtlistExpr using semicolon

* Revert "render stmtlistExpr using semicolon"

This reverts commit cafb78b8d5.

* revert test
2019-04-17 11:55:41 +02:00
Miran
43832f8e57 remove shadow warning, fixes #10732 (#11039) 2019-04-17 11:54:51 +02:00
Araq
ce024a73bf make move-analysis smarter; see tuse_ownedref_after_move test case 2019-04-16 10:35:43 +02:00
Araq
045e026d0e dfa.nim: track object/tuple field accesses more precisely; sink(o.x); sink(o.y) needs to compile; activate the tuple unpacking transf.nim bugfix 2019-04-16 10:35:43 +02:00
Andy Davidoff
01f09567c4 faster CountTable sort(), optional SortOrder (#11010)
* use existing sort for CountTable, and
add SortOrder options to CountTable, OrderedTable sort(s)

* add some tests, runnables, etc.

* fix runnable imports
2019-04-16 09:42:54 +02:00
Clyybber
2f56dd6b2b Extend the fix for #11018 to strings (#11031)
* Extend the fix for #11018 to strings

* Fix testcase
2019-04-15 17:06:31 +02:00
Araq
a517a9985b fixes another regression; the behaviour of 'array' formatting was changed 2019-04-15 08:20:28 +02:00
Araq
59ccaa43c7 fixes #11012 2019-04-15 08:20:28 +02:00
Clyybber
499fa3f3dc Fixes #11018 (#11019) 2019-04-14 23:34:19 +02:00
cooldome
fdc3f54f97 fix reraise (#11017) 2019-04-13 10:50:30 +02:00
Araq
572735bbfa fixes #11004 2019-04-12 13:28:12 +02:00
cooldome
041d15392a Compiler plugin for implementing incremental computation in user space (#10819)
This plugin provides essential building block for implementing incremental computations in your programs. The idea behind incremental computations is that if you do the same calculation multiple times but with slightly different inputs you don't have to recompute everything from scratch. Also you don't want to adopt special algorithms either, you would like to write your code in standard from scratch manner and get incrementality for free when it is possible.

The plugin computes the digest of the proc bodies, recursively hashing all called procs as well . Such digest with the digest of the argument values gives a good "name" for the result. Terminology loosely follows paper "Incremental Computation with Names" link below. It works well if you have no side effects in your computations. If you have global state in your computations then you will need problem specific workarounds to represent global state in set of "names" . SideEffect tracking in Nim also useful in this topic.

Classical examples:

Dashboard with ticking data. New data arrives non stop and you would like to update the dashboard recomputing only changed outputs.
Excel spreadsheet where user changes one cell and you would like to recompute all cells that are affected by the change, but do not want to recompute every cell in the spreadsheet.
2019-04-11 23:09:11 +02:00
cooldome
de02fd0b89 fixes #10765 (#10993) [backport] 2019-04-11 13:51:51 +02:00
Araq
2846156e13 newruntime: raising an exception works but currently leaks memory because currentException global is not an 'owned' ref 2019-04-10 20:34:00 +02:00
Araq
cb4e04d88e enable more tests 2019-04-10 20:34:00 +02:00
Miran
1494d88fa2 rst: parse brackets individually, fixes #10475 (#10997) 2019-04-10 15:55:57 +02:00
Araq
bc50795d9c enable most tnewruntime_strutils tests 2019-04-10 15:49:04 +02:00
Araq
a34ce2714a newruntime: fixes another bug 2019-04-10 13:53:47 +02:00
Araq
6e6a9a721f destructors: we are cooking now 2019-04-06 17:32:53 +02:00
Alexander Ivanov
f101f09256 Fix astdef typ deref (#10245) 2019-04-05 16:43:36 +02:00
Arne Döring
3a5a0f6d46 Strformat symbol binding (#10927) 2019-04-05 15:27:04 +02:00