Just today I started writing my first lines of nim code (great language, I'm
really excited so far).
Of course I've made some mistakes in my first code parts, but one of these
mistakes lead to the compiler terminating compilation without giving an error
or any hint at all of what is going wrong. Though I'm not sure this is the
right place to report this behavior, I thought better do it here then just
ignore it.
I had a test program, where I played around with concepts and in one of the
concepts I had a typo ('x' instead of 't'). This was no problem so far until I
made an import of the typetraits module. With this import "nim c main.nim" just
terminates without generating any code and without reporting any error.
Here is a minimal code snippet to reproduce the issue (Nim 0.15.2 Linux amd64):
import typetraits # without this import the program compiles (and echoes
false)
type
SomeTestConcept = concept t
x.name is string # typo: t.name was intended (which would result in
echo true)
type
TestClass = ref object of RootObj
name: string
var test = TestClass(name: "mytest")
echo $(test is SomeTestConcept)
"nim c main.nim" produces:
Hint: used config file '/home/gneu/nim/nim-0.15.2/config/nim.cfg' [Conf]
Hint: system [Processing]
Hint: main [Processing]
Hint: typetraits [Processing]
(and no further output)
I think this has something todo with the typetraits module defining a proc or
method "name" for types. Whatever the reason (and however stupid my sample code
is), the compiler should never just stop working without giving the tiniest
hint and what might be the problem.