parent
3215666e33
commit
bb532a697e
5 changed files with 51 additions and 5 deletions
32
tests/template/twrongmapit.nim
Normal file
32
tests/template/twrongmapit.nim
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
discard """
|
||||
errormsg: "'"
|
||||
file: "sequtils.nim"
|
||||
line: 416
|
||||
"""
|
||||
# unfortunately our tester doesn't support multiple lines of compiler
|
||||
# error messages yet...
|
||||
|
||||
# bug #1562
|
||||
type Foo* {.pure, final.} = object
|
||||
elt: float
|
||||
|
||||
template defineOpAssign(T: expr, op: expr) {.immediate.} =
|
||||
proc op*(v: var T, w: T) {.inline.} =
|
||||
for i in 0..1:
|
||||
op(v.elt, w.elt)
|
||||
|
||||
const ATTEMPT = 0
|
||||
|
||||
when ATTEMPT == 0:
|
||||
# FAILS: defining `/=` with template calling template
|
||||
# ERROR about sem.nim line 144
|
||||
template defineOpAssigns(T: expr) {.immediate.} =
|
||||
mixin `/=`
|
||||
defineOpAssign(T, `/=`)
|
||||
|
||||
defineOpAssigns(Foo)
|
||||
|
||||
# bug #1543
|
||||
import sequtils
|
||||
|
||||
(var i= @[""];i).mapIt(it)
|
||||
Loading…
Add table
Add a link
Reference in a new issue