blob: 74fbae303decde238243a60804a46af65bb7bc83 (
plain) (
tree)
|
|
discard """
ccodecheck: "\\i !@('struct tyObject_MyRefObject'[0-z]+' {')"
ccodecheck: "\\i !@('mymoduleInit')"
ccodecheck: "\\i @('mymoduleDatInit')"
output: "hello"
"""
# issue #7339
# Test that MyRefObject is only forward declared as it used only by reference
import mymodule
type AnotherType = object
f: MyRefObject
let x = AnotherType(f: newMyRefObject("hello"))
echo $x.f
# bug #7363
type
Foo = object
a: cint
Foo2 = object
b: cint
proc f(foo: ptr Foo, foo2: ptr Foo2): cint =
if foo != nil: {.emit: "`result` = `foo`->a;".}
if foo2 != nil: {.emit: [result, " = ", foo2[], ".b;"].}
discard f(nil, nil)
# bug #7392
var x1: BaseObj
var x2 = ChildObj(x1)
|