mirror of
https://github.com/nim-lang/Nim.git
synced 2026-06-04 10:54:42 +00:00
* Expands codegenDecl to work in function params. fixes #22306 * makes the test more concrete so T{lit} params dont match * adds sfCodegenDecl
This commit is contained in:
17
tests/cpp/tcodegendecl.nim
Normal file
17
tests/cpp/tcodegendecl.nim
Normal file
@@ -0,0 +1,17 @@
|
||||
discard """
|
||||
targets: "cpp"
|
||||
cmd: "nim cpp $file"
|
||||
output: "3"
|
||||
"""
|
||||
|
||||
{.emit:"""/*TYPESECTION*/
|
||||
int operate(int x, int y, int (*func)(const int&, const int&)){
|
||||
return func(x, y);
|
||||
};
|
||||
""".}
|
||||
|
||||
proc operate(x, y: int32, fn: proc(x, y: int32 ): int32 {.cdecl.}): int32 {.importcpp:"$1(@)".}
|
||||
|
||||
proc add(a {.codegenDecl:"const $#& $#".}, b {.codegenDecl:"const $# $#", byref.}: int32): int32 {.cdecl.} = a + b
|
||||
|
||||
echo operate(1, 2, add)
|
||||
Reference in New Issue
Block a user