1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- discard """
- cmd: "nim cpp $file"
- output:'''
- cppNZ.x = 123
- cppNZInit.x = 123
- hascpp.cppnz.x = 123
- hasCppInit.cppnz.x = 123
- hasCppCtor.cppnz.x = 123
- '''
- """
- {.emit:"""/*TYPESECTION*/
- struct CppNonZero {
- int x = 123;
- };
- """.}
- import sugar
- type
- CppNonZero {.importcpp, inheritable.} = object
- x: cint
- HasCpp = object
- cppnz: CppNonZero
- proc initCppNonZero: CppNonZero =
- CppNonZero()
- proc initHasCpp: HasCpp =
- HasCpp()
- proc ctorHasCpp: HasCpp {.constructor.} =
- discard
- proc main =
- var cppNZ: CppNonZero
- dump cppNZ.x
- var cppNZInit = initCppNonZero()
- dump cppNZInit.x
- var hascpp: HasCpp
- dump hascpp.cppnz.x
- var hasCppInit = initHasCpp()
- dump hasCppInit.cppnz.x
- var hasCppCtor = ctorHasCpp()
- dump hasCppCtor.cppnz.x
- main()
|