2. The compiler manual says -drelease will compile in release mode. This results in an error:
nim compile -drelease composite_register.nim
command line(1, 2) Error: argument for command line option expected: '-d'
nim compile -d=release composite_register.nim
works
3. The tutorial says "Conversion between basic types is performed by using the type as a function:". Strings are among the basic types.
let foo:string = string(bar(x)) # bar(x) produces a cstring
results in a compilation error (type mis-match), but
let foo:string = $(bar(x))
does work. At the very least, I think this should be noted in the section on type conversion in the tutorial, but it seems inconsistent to me.You will learn most of the stuff cstring can do