Commit graph

686 commits

Author SHA1 Message Date
Araq
9de05ec3e0 further steps in implementing sink parameters; refs #7041 2018-03-30 02:32:13 +02:00
zah
121b9e26fb Static[T] fixes (#7333)
* fix the usage of unresolved static[T] parameters in proc signatures
* fix tsametype and tmacrogenerics
* Allow creating composite type classes with concepts and using them in type signatures
* Allow integers to be used in ident concatenations
* Support using imported C++ generic types in proc signatures
* fixes #7230
* closes #7379
* re-enable some metatype tests
2018-03-24 15:28:09 +01:00
Andreas Rumpf
89782460a3 fixes #7215 2018-02-14 10:09:35 +01:00
cooldome
d24b6667c6 genTryCpp to catch by Nim type, ready for first review (#7196)
* Rewrite genTryCpp

* correction

* Implement polymorphic raise in cpp

* revert backticks in emit

* Cleanp a comment

* revert test changes

* better handling of <new> header
2018-02-12 21:23:34 +01:00
Andreas Rumpf
70e8640244 move new sha1 module into the new 'std' namespace 2018-02-06 17:40:31 +01:00
Andreas Rumpf
274fafb2df fixes #6961 2018-02-02 17:35:04 +01:00
cooldome
27aab0be16 Custom pragmas in procs bug fix (#7086) 2018-01-18 10:38:55 +01:00
cooldome
2c9e56a783 Implement custom annotations (#6987) 2018-01-09 15:25:22 +01:00
Andreas Rumpf
e4081a7201 preparations for language extensions: 'sink' and 'lent' types 2018-01-07 23:09:26 +01:00
Araq
e316665b7b work in progress: 'sink' and 'lent' types 2018-01-07 10:17:19 +01:00
Araq
ee67a67ac4 first steps in adding template/macro calls to stack traces 2017-12-21 10:03:33 +01:00
Veladus
15f72d0cf1 Now analyzes over magics instead of symbol names; but dosn't compile for me 2017-12-11 21:49:28 +01:00
Araq
8d1a5dc8e7 the documentation generator now supports system.runnableExamples 2017-11-26 02:51:11 +01:00
Araq
95a5373d07 minor optimization for propagateToOwner 2017-11-23 02:32:24 +01:00
Araq
a6226d9452 fixes #6682 2017-11-22 23:39:50 +01:00
Andreas Rumpf
1eaeccc15d Merge branch 'devel' into araq 2017-11-02 10:46:30 +01:00
Andreas Rumpf
6cb8bf8045 fixes bug reported in PR #5637 2017-10-30 09:19:02 +01:00
Andreas Rumpf
d52a1061b3 work in progress: new implementation for 'a[^1]' 2017-10-29 19:46:17 +01:00
Andreas Rumpf
70ea45cdba deprecated unary '<' 2017-10-29 08:37:13 +01:00
Andreas Rumpf
7889692523 first implementation of package level types that allow forwarding across module boundaries 2017-10-28 15:28:59 +02:00
Andreas Rumpf
c6235920cb backend preparations for incomplete/forwarded object types 2017-10-28 13:46:43 +02:00
Araq
826ddbf809 ast.nim: spacing 2017-10-25 17:37:03 +02:00
Andreas Rumpf
fa0f04968f bugfix: propagate the tfHasAsgn flag properly 2017-10-19 13:29:11 +02:00
Araq
45d74f4081 destructors: preparations for upcoming changes 2017-10-17 12:46:49 +02:00
Andreas Rumpf
8780d25e03 minor refactorings for better destructors 2017-10-14 20:37:49 +02:00
Andreas Rumpf
ec253ada72 initial version of the new untested destructor pass 2017-10-12 11:32:29 +02:00
Andreas Rumpf
6e337fe58a further preparations for 'opt' builtin type 2017-10-09 21:12:40 +02:00
Andreas Rumpf
e9243a1616 Merge branch 'devel' into araq 2017-10-02 08:31:38 +02:00
Andreas Rumpf
f7f3a25be8 first steps of making 'opt' a first class type for Nim 2017-09-25 13:19:36 +02:00
Andreas Rumpf
e879da5791 some work to make 'opt' a first class type 2017-09-24 11:21:52 +02:00
Andreas Rumpf
1a61c4d46d first implementation of the 'func' keyword 2017-09-23 23:22:53 +02:00
Andreas Rumpf
2e93bac227 Merge branch 'devel' into araq-better-codegen 2017-09-23 20:07:30 +02:00
Andreas Rumpf
5298a72f34 NimScript: added buildOS and buildCPU constants 2017-09-22 13:29:45 +02:00
Andreas Rumpf
3936587c06 fixes #6403 2017-09-21 21:07:18 +02:00
Andreas Rumpf
405b9c8a85 refactoring: TLoc knows the node it originated from; it is planned to use this to produce better C code (move optimizations) 2017-09-21 14:38:45 +02:00
Andreas Rumpf
a04c7d8b38 introduce OnHeapNew and rename TLoc.s to TLoc.storage 2017-09-21 11:38:04 +02:00
Andreas Rumpf
ecf1424456 Merge branch 'devel' into araq 2017-09-15 21:12:59 +02:00
Parashurama
88a5e9d88c Fix operations on string as openarray in VM. (#6257)
* fix openarray.len for string as openArray in VM.
* fix openarray[idx] for string as openArray in VM.
* fix openarray[idx]=val for string as openArray in VM.
* add tests for passing string as openArray in VM.
* fix issue with NimNode.len
NimNode.len was also returning len for string literals.
also fix logic bug in if/elif chain.
2017-09-15 13:35:57 +02:00
Andreas Rumpf
39f0195ebf Merge branch 'devel' into araq 2017-09-15 09:27:51 +02:00
Andreas Rumpf
50f62ff44a distinguish between 'reorder' and 'noforward' 2017-07-26 08:20:11 +02:00
Andreas Rumpf
2b862b74e0 Merge branch 'devel' into araq 2017-07-13 04:48:22 +02:00
Zahary Karadjov
8f4b374327 Fix #4020; Better handling of templates within concepts 2017-06-20 11:29:42 +02:00
Andreas Rumpf
7a95c961a7 cleanup of in/out covariance handling 2017-05-17 20:54:53 +02:00
Andreas Rumpf
a5695c13af Merge branch 'zahary' into araq 2017-05-16 17:29:44 +02:00
Zahary Karadjov
0aede22e87 enforce the covariance rules for user-defined generic types 2017-05-13 14:38:07 +03:00
Zahary Karadjov
a802d72452 doh, forgot to add all files in the previous commit 2017-05-12 12:46:09 +03:00
Zahary Karadjov
5e368f3639 support for external types with covariant generic params 2017-05-08 21:45:37 +03:00
Andreas Rumpf
02bbfa1164 precise stack scanning for Nim's GCs; work in progress 2017-04-19 08:33:19 +02:00
Zahary Karadjov
a3f19c87fb lift parameter-less do block to lambdas 2017-04-10 23:58:05 +03:00
Zahary Karadjov
987b522071 fix the do notation when used with procs 2017-04-09 22:59:24 +03:00