Zahary Karadjov
fe48dd1cbe
further improvements to the error messages produced by concepts
2017-03-24 16:59:47 +02:00
Zahary Karadjov
9e9b289fc5
when displaying proc signatures, don't render the implicit generic params
2017-03-24 16:59:47 +02:00
Zahary Karadjov
74a80988d9
proper error reporting for concepts and the introduction of the {.explain.} pragma
2017-03-24 16:59:47 +02:00
Zahary Karadjov
644d645ea7
implement the special treatment of explicit type params in concepts
2017-03-24 16:58:15 +02:00
Zahary Karadjov
0f2c4be129
infer static parameters even when more complicated arithmetic is involved
2017-03-24 16:58:15 +02:00
Zahary Karadjov
0b0a3e5f20
support derived values in non-generic user type classes
2017-03-24 16:58:15 +02:00
Zahary Karadjov
77a4512ae8
some revisions to the Concepts and VTable types specs
2017-03-24 16:58:15 +02:00
Zahary Karadjov
a90c4c4d7e
kill the reportConceptFailures options as it will be replaced by the .explain. pragma
2017-03-24 16:58:15 +02:00
Zahary Karadjov
19918ad96f
future manual additions for the full concept spec I'm aiming to implement
2017-03-24 16:58:15 +02:00
Zahary Karadjov
76c663f692
support for inferring static[T] concept params
2017-03-24 16:58:15 +02:00
Zahary Karadjov
8cd5f1f8f5
introduce tyInferred for the unbound concept type params
...
* Why is tyInferred needed?
The bindings in TCandidate are capable of inferring types within a single
call expression. In concepts, we need to infer types in the same way, but
across the whole body of the concept.
Previously, once a concept type param was inferred, it was destructively
mutated using t.assignType, but this proved to be problematic in the presence
of overloads, because the bindings established while a non-matching overload
is tested must be reverted/forgotten. tyInferred offers a non-destructive way to
keep track of the inference progress.
While introducing new types usually requires a lot of code paths in the compiler
to updated, currently tyInferred is only a short-lived type within the concept body
pass and it's unlikely to introduce breakage elsewhere in the compiler.
2017-03-24 16:58:15 +02:00
Zahary Karadjov
815724db71
support the full range of type modifiers when declaring concept vars and testing proc signatures
2017-03-24 16:58:15 +02:00
Zahary Karadjov
0a9a878bd3
support for matching generic types' procs in generic concepts
2017-03-24 16:58:15 +02:00
Zahary Karadjov
33f4e69759
support for accessing types and consts defined in concepts with the dot operator
2017-03-24 16:58:15 +02:00
Zahary Karadjov
eab1d0cc02
support for accessing the inferred concept type params with the dot operator
2017-03-24 16:58:15 +02:00
Zahary Karadjov
66e0f0e19c
concept type params inference working in basic examples
2017-03-24 16:58:15 +02:00
Andreas Rumpf
0d8a503e45
fixes #5597 ; wrong eager template instantiation in generic context ( #5601 )
2017-03-24 07:35:12 +01:00
Dmitriy Fomichev
268a1f7cfd
Deques compilation error fix ( #5591 )
2017-03-24 00:09:51 +01:00
Arne Döring
d4b4cad4ea
Added few documentation lines for the unsafeAddr operator. ( #5362 )
2017-03-23 23:49:07 +01:00
Anatoly Galiulin
434a7c8426
Fix posix version of moveFile between different filesystems ( #5580 )
2017-03-23 23:40:03 +01:00
andri lim
568c954062
fixes #5241 , fixes #5411 inherit from specialized generic typeRel problem ( #5573 )
2017-03-23 23:39:29 +01:00
Dominik Picheta
0cad2896ae
Implement asyncfile.readToStream.
2017-03-23 21:34:53 +01:00
Dominik Picheta
f2ca6021dc
Implement requestAnimationFrame and cancelAnimationFrame in dom module.
2017-03-23 21:34:32 +01:00
Dominik Picheta
d221e6a35c
Improve os.getFileSize documentation to specify the unit.
2017-03-23 21:34:03 +01:00
def
ab31b776ef
Fix typo
2017-03-23 21:29:10 +01:00
Araq
93f0f1c6e4
fixes #5598
2017-03-23 16:43:21 +01:00
Eugene Kabanov
254fbcc548
Fixes #4719 . ( #5585 )
2017-03-23 16:13:38 +01:00
Emery Hemingway
d508303fad
fix empty link file list during external compilation ( #5577 )
2017-03-23 13:27:16 +01:00
zah
be174fc3c7
Fix generic forward declarations; fixes #4104 ; fixes #4908 ( #5566 )
2017-03-23 12:40:57 +01:00
andri lim
70237e1fdd
fix taliasinequality test case ( #5587 )
2017-03-22 08:40:15 +01:00
Ruslan Mustakov
310b73b556
Reduce the scope of stackTrace var ( #5583 )
...
Fixes #5571 .
2017-03-22 01:06:05 +01:00
jlp765
c8954b2b34
tut1.rst: Slices indices explanation ( #5569 )
2017-03-22 01:04:37 +01:00
Araq
c9b86ebce8
koch: cleanup its help output, remove cruft
2017-03-21 13:17:23 +01:00
Araq
3962c6339f
nimsuggest: die with a project dir/file that doesn't exist
2017-03-21 13:09:57 +01:00
Araq
e01d2244e4
make semObjConstr robust for nimsuggest
2017-03-21 13:02:38 +01:00
Araq
d862d22723
koch: vcc is also built with 'koch tools'
2017-03-21 12:04:14 +01:00
Eugene Kabanov
8310d252c2
Update testament to include all tests from tests/threads category. ( #5576 )
2017-03-20 20:20:26 +01:00
Andreas Rumpf
2d0ee2c8ab
mark symbols in getAst context as used
2017-03-20 11:44:58 +01:00
Andreas Rumpf
ca673ab1af
add test case for getAst regression
2017-03-20 10:56:15 +01:00
Andreas Rumpf
a6b0af539b
revert getAst handling to not use overloading resolution
2017-03-20 10:56:15 +01:00
Andreas Rumpf
01b2728ec8
fixes a potential endless loop
2017-03-20 10:56:15 +01:00
Andreas Rumpf
3fafd546d5
nimsuggest: prefixes of abbreviations don't count
2017-03-20 10:56:15 +01:00
jcosborn
3bffb3ba35
fix getTypeImpl for tyEnum ( #5568 )
...
* fixed getTypeImpl for tyEnum
* fixed getType for enum and updated release notes about change
2017-03-19 20:34:27 +01:00
zah
1d6018726e
fix #5296 ( #5565 )
2017-03-19 20:33:21 +01:00
Eugene Kabanov
e20af5cec6
Fix #4972 . ( #5567 )
2017-03-19 07:16:13 +01:00
Araq
156bd29c68
update news.rst about the breaking changes
2017-03-18 21:13:27 +01:00
Ryan Gonzalez
244bf68fb0
Fix #5550 ( #5553 )
2017-03-18 21:05:12 +01:00
Araq
d365f1a81a
resolved unittest conflict
2017-03-18 20:59:10 +01:00
Araq
aa4260ffa8
overloading resolution for getAst; breaking change
2017-03-18 20:57:45 +01:00
Ruslan Mustakov
65422487f3
Add support for custom test report formatters ( #5556 )
...
Implement ConsoleOutputFormatter that is backward compatible
with the previous implementation.
Implement JUnitOutputFormatter which can be added externally.
2017-03-18 20:48:30 +01:00