Instead of rejecting type expressions based on node kind, evaluate the expression as a type. This is already the behavior for call results, and it has its own error for non-types, which is the same error you would normally get with 2 words swapped.
9 lines
100 B
Nim
9 lines
100 B
Nim
discard """
|
|
errormsg: "expected type, but got: 3"
|
|
"""
|
|
|
|
type
|
|
Foo = (block:
|
|
int)
|
|
|
|
Bar = 3
|