preparations for Nimble NimScript integrations; minor cleanups
This commit is contained in:
parent
10a7830ba2
commit
9659540b18
7 changed files with 74 additions and 6 deletions
43
todo.txt
43
todo.txt
|
|
@ -1,6 +1,9 @@
|
|||
version 0.11.4
|
||||
==============
|
||||
|
||||
- make tuple unpacking work in a non-var/let context
|
||||
- built-in 'getImpl'
|
||||
|
||||
- document special cased varargs[untyped] and varargs[typed]
|
||||
|
||||
- The remaining bugs of the lambda lifting pass that is responsible to enable
|
||||
|
|
@ -50,14 +53,50 @@ Low priority:
|
|||
Misc
|
||||
----
|
||||
|
||||
- make tuple unpacking work in a non-var/let context
|
||||
- built-in 'getImpl'
|
||||
- prevent 'alloc(TypeWithGCedMemory)'
|
||||
|
||||
|
||||
Bugs
|
||||
====
|
||||
|
||||
- Can lead to wrong C code:
|
||||
|
||||
template cd*(dir: string, body: stmt) =
|
||||
## Sets the current dir to ``dir``, executes ``body`` and restores the
|
||||
## previous working dir.
|
||||
let lastDir = getCurrentDir()
|
||||
setCurrentDir(dir)
|
||||
try:
|
||||
body
|
||||
finally:
|
||||
setCurrentDir(lastDir)
|
||||
|
||||
proc test =
|
||||
cd dir:
|
||||
var output = execProcess("git tag")
|
||||
case meth
|
||||
of DownloadMethod.git:
|
||||
output = execProcess("git tag")
|
||||
of DownloadMethod.hg:
|
||||
output = execProcess("hg tags")
|
||||
if output.len > 0:
|
||||
case meth
|
||||
of DownloadMethod.git:
|
||||
result = @[]
|
||||
for i in output.splitLines():
|
||||
if i == "": continue
|
||||
result.add(i)
|
||||
of DownloadMethod.hg:
|
||||
result = @[]
|
||||
for i in output.splitLines():
|
||||
if i == "": continue
|
||||
var tag = ""
|
||||
discard parseUntil(i, tag, ' ')
|
||||
if tag != "tip":
|
||||
result.add(tag)
|
||||
else:
|
||||
result = @[]
|
||||
|
||||
- VM: Pegs do not work at compile-time
|
||||
- VM: ptr/ref T cannot work in general
|
||||
- blocks can "export" an identifier but the CCG generates {} for them ...
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue