1234567891011121314151617181920212223242526272829 |
- discard """
- cmd: "nim check --hints:off $file"
- """
- block: # with params
- type Foo = object
- bar: int
- var foo = Foo(bar: 10)
- template bar(x: int): int = x + foo.bar
- let a = bar #[tt.Error
- ^ invalid type: 'template (x: int): int' for let. Did you mean to call the template with '()'?]#
- bar = 15 #[tt.Error
- ^ 'bar' cannot be assigned to]#
- block: # generic template
- type Foo = object
- bar: int
- var foo = Foo(bar: 10)
- template bar[T]: T = T(foo.bar)
- let a = bar #[tt.Error
- ^ invalid type: 'template (): T' for let. Did you mean to call the template with '()'?; tt.Error
- ^ 'bar' has unspecified generic parameters]#
- let b = bar[float]()
- doAssert b == 10.0
- bar = 15 #[tt.Error
- ^ 'bar' cannot be assigned to]#
|