mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 09:24:36 +00:00
* remove deprecated pragma syntax from 0.20.0 closes #4651, closes #16653 with a cheap fix for now due to how early `tfFinal` is set * remove type pragma between name and generics * undo removal, try removing bind expression (0.8.14) * fix test, unremove bind expr * remove again * Update changelog.md Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> * dependencies @ HEAD & weave test dependencies * try fix package ci Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
27 lines
608 B
Nim
27 lines
608 B
Nim
discard """
|
|
cmd: "nim check $file"
|
|
errormsg: "the 'in' modifier can be used only with imported types"
|
|
nimout: '''
|
|
tinvalidinout.nim(14, 7) Error: the 'out' modifier can be used only with imported types
|
|
tinvalidinout.nim(17, 9) Error: the 'in' modifier can be used only with imported types
|
|
tinvalidinout.nim(18, 9) Error: the 'in' modifier can be used only with imported types
|
|
'''
|
|
"""
|
|
|
|
type
|
|
Foo[in T] {.header: "foo.h", importcpp.} = object
|
|
|
|
Bar[out X] = object
|
|
x: int
|
|
|
|
proc f1[in T](x: T) = discard
|
|
proc f2[in T](x: T) {.importc: "f", header: "foo.h"}
|
|
|
|
var
|
|
f: Foo[int]
|
|
b: Bar[string]
|
|
|
|
f1 f
|
|
f2 b
|
|
|