Commit Graph

17607 Commits

Author SHA1 Message Date
Andreas Rumpf
c70706f4bd nimpretty: fixes pragma rendering 2018-06-17 14:15:42 +02:00
Dominik Picheta
9e86237855 Adds smaller code samples from Chapters 1-3 to the tester. 2018-06-17 00:12:51 +01:00
Dominik Picheta
8081a9b3d0 Exports unicode.toUpper/toLower in strutils module. 2018-06-17 00:12:51 +01:00
Andreas Rumpf
798a8bd45c Merge branch 'devel' of github.com:nim-lang/Nim into devel 2018-06-16 19:02:54 +02:00
Andreas Rumpf
dba26656f6 nimpretty: stuff that doesn't work 2018-06-16 19:02:47 +02:00
Zahary Karadjov
e129466910 requested pull-request changes 2018-06-16 16:46:32 +03:00
Zahary Karadjov
31651ecd61 allow referencing other parameters in default parameter values
fix #7756
fix #1201
fix #7000
fix #3002
fix #1046
2018-06-16 16:46:32 +03:00
Zahary Karadjov
e719f211c6 fix #6928; fix #7208 2018-06-16 16:46:32 +03:00
Zahary Karadjov
59d19946c0 fix some breakage after rebasing 2018-06-16 16:46:32 +03:00
Zahary Karadjov
16b594b532 Support default type parameters
progress on #7516
2018-06-16 16:46:32 +03:00
Zahary Karadjov
5bcf8bcb59 fixes #7222; fixes #5595; fixes #3747
* late instantiation for the generic procs' default param values
* automatic mixin behaviour in concepts

Other fixes:

* don't render the automatically inserted default params in calls
* better rendering of tyFromExpr
2018-06-16 16:46:32 +03:00
Zahary Karadjov
ea36e0ebbe document the new type[T] and static[T] features 2018-06-16 16:46:32 +03:00
Zahary Karadjov
a49b06a52a Implement the is operator for the new static and typedesc type classes
This also makes the first baby steps towards a sound treatment of
higher-order kinds (type type int).

Adds test cases showcasing the new features.

* Also fixes breakage after the rebase
2018-06-16 16:46:32 +03:00
Zahary Karadjov
ab9969ed3b Bugfix: the size of an array may be a static tuple element 2018-06-16 16:46:32 +03:00
Zahary Karadjov
509d6e9232 Bugfix: aliases to generic types were not considered implicit generic parameters 2018-06-16 16:46:32 +03:00
Zahary Karadjov
fb27357b62 A minimal patch enabling the new typedesc and static types syntax 2018-06-16 16:46:32 +03:00
Zahary Karadjov
8633b1b309 Starting test recording the current state of the parser
In the next commit, I'll introduce changes to the parser bringing
consistent handling of all type modifiers (ref, ptr, var, static
and type). The goal of this commit is to record precisely what is
going to be changed (i.e. by allowing you to look at the diff).

To preserve the diff, please don't squash upon merging.
2018-06-16 16:46:32 +03:00
Zahary Karadjov
7ab1aafc6b stdlib work 2018-06-16 16:46:32 +03:00
Andreas Rumpf
7819e63f77 nimpretty: more features 2018-06-16 09:53:36 +02:00
Andreas Rumpf
ee16e62061 Merge pull request #8039 from yglukhov/proc-pragmas
Fixed stacktrace/linetrace proc pragmas when appended by macro pragma
2018-06-16 01:59:06 +02:00
Andreas Rumpf
97398edc05 nimpretty: render and/or/notin/in properly 2018-06-16 01:58:52 +02:00
Andreas Rumpf
a1bd4a6cbd nimpretty: first version that seems useful for others to test it 2018-06-16 01:46:39 +02:00
Yuriy Glukhov
78cbf6734a Added more tests to toverflw 2018-06-15 19:46:17 +03:00
Yuriy Glukhov
951157a4e9 Fixed proto options 2018-06-15 12:54:59 +03:00
Dmitry Atamanov
bf5d619a52 Add MemMapFileStream. Fixes in memFiles. (#7944)
* Add MemMapFileStream

* Added tests

* Fixed bug in memfiles (zero index for string)

* Added flush to changelog

* Attempt to fix Win's nuances

* Fix attempt to fix

* Continue...

* And again...

* Reworked tests (all for win on Win)

* Fixes in flush (Win)

* Replace fn vars to consts

* Added the attempts parameter to the flush

* Replace while to for

* Move to memfiles

* Use Natural instead of uint

* Better error messages for append mode. Handle specific cases.
2018-06-14 17:34:26 +01:00
Andreas Rumpf
f1d5e9090e Merge pull request #8021 from yglukhov/seq-lit
Added NIM_STRLIT_FLAG to seq literals
2018-06-14 17:38:12 +02:00
Araq
21a17f3911 document the 'pkg' and 'std' pseudo directories; closes #7250 2018-06-14 16:40:06 +02:00
Araq
1578d222e2 implements pkg/ prefix to enforce searching for the module ignore the stdlib paths; refs #7250 2018-06-14 16:12:02 +02:00
Araq
894f21eb73 RST hotfix: don't crash in rstnodeToRefname 2018-06-14 15:01:30 +02:00
Yuriy Glukhov
466af35d4d Fixed stacktrace/linetrace proc pragmas when appended by macro pragma 2018-06-14 15:48:51 +03:00
Andreas Rumpf
2d186f18ec Merge pull request #7950 from Paalon/math-log
Add log for base b of x
2018-06-14 14:02:57 +02:00
Andreas Rumpf
80a1da951d Merge pull request #8033 from FedericoCeratto/patch-9
Add hint on JSON serialization
2018-06-14 12:03:41 +02:00
Koki Fushimi
5332da2e7c Fix a test 2018-06-14 13:37:37 +09:00
Koki Fushimi
5fc5e37194 Use one same type for two parameters 2018-06-14 13:17:17 +09:00
Federico Ceratto
127556ad63 Update marshal.nim 2018-06-13 23:22:07 +01:00
Federico Ceratto
d1e03c20d2 Add hint on JSON serialization 2018-06-13 23:11:29 +01:00
Andreas Rumpf
89dd1e3592 Merge pull request #8030 from c-blake/devel
hotfix 3221ac0943 broke gc:regions/aka …
2018-06-13 20:01:47 +02:00
Vindaar
e80be6173d Add parse bin int, fixes #8018 (#8020)
* clarify `parseHexInt`, `parseOctInt` docstring and exception msgs

* add `parseBinInt` based on `parseutil.parseBin` implementation

Adds a `parseBinInt`, which parses a binary integer string and returns
it as an integer. This is based on the implementation of
`parseutil.parseBin`, removing the unnecessary parts.

* add tests for all `parse(Hex|Oct|Bin)Int` procs

* replace `parse*Int` proc impls by call to parseutil procs

Replaces the `parse(Hex|Oct|Bin)Int` procedure implementation by calls
to the `parseutil` procs, which receive a mutable argument.

Has the main advantage that the empty string as well as a "prefix
only" string, e.g. "0x" counts as an invalid integer.

Also moves the `parseOctInt` proc further up in the file so that all
`parse` procs are below one another.

* replace `var L` by `let L` in `parse` procs

There's no reason for the usage of `var` here.

* add `maxLen` optional arg for `parseutil.parse(Oct|Bin)`

Plus small change to test cases.

* update changelog about `parse*Int` procs

* fix `rejectParse` template in `tstrutils`

* make sure only `s.len` chars are parsed, if `maxLen+start` > s.len

Fixes a previous bug in `parseHex` (and now affected `parseOct` and
`parseBin`), which allowed to set `start + maxLen` to be larger than
the strings length. This resulted in an out of bounds access.

* move `parse*Int` proc change to breaking changes, add double `
2018-06-13 13:32:12 -04:00
Charles Blake
ed4f1f4c43 hotfix 3221ac0943 broke gc:regions/aka gc:stack by
underallocating for sequences of any type larger than 1 byte.  This does the
necessary multiply to restore basic functionality.
2018-06-13 10:36:47 -04:00
Andreas Rumpf
cd65ef0056 Merge pull request #8027 from yglukhov/vm-fix
Fixed uncaught exception in vm gen
2018-06-13 15:50:18 +02:00
Dominik Picheta
518a3e7f73 Merge pull request #8025 from krux02/remove-immediate
fix #5930
2018-06-13 14:12:16 +01:00
Yuriy Glukhov
dd06c46865 Fixed uncaught exception in vm gen 2018-06-13 15:39:45 +03:00
Arne Döring
51fdb071cb fix #5930 2018-06-13 12:18:21 +02:00
Andreas Rumpf
5348fef003 implements a --nep1:on switch to make the compiler enforce the naming conventions outlined in NEP-1 2018-06-13 01:44:19 +02:00
cooldome
101f23f3a6 manual merge 2 2018-06-12 23:23:21 +01:00
cooldome
3dd61d6fff Manual merge 2018-06-12 23:20:34 +01:00
cooldome
0b709fb916 FIx test tembarrassing_generic_failure 2018-06-12 21:41:35 +01:00
cooldome
37aa488f99 merge devel 2018-06-12 21:19:30 +01:00
Andreas Rumpf
f555338ce8 bugfix: allow 'export' in the VM 2018-06-12 21:08:41 +02:00
Andreas Rumpf
b379547fc0 Merge pull request #8019 from yglukhov/proc-stacktrace
Allow stacktrace and linetrace pragmas on procs
2018-06-12 17:12:13 +02:00