mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-15 07:43:26 +00:00
Properly wrap discarded statements (#10322)
Failing to do so lead the codegen to emit invalid code sometimes, especially when C++ references were involved. Fixes #10241
This commit is contained in:
19
tests/cpp/t10241.nim
Normal file
19
tests/cpp/t10241.nim
Normal file
@@ -0,0 +1,19 @@
|
||||
discard """
|
||||
targets: "cpp"
|
||||
action: "compile"
|
||||
"""
|
||||
|
||||
type
|
||||
String* {.importcpp: "std::string", header: "string".} = object
|
||||
|
||||
proc initString*(): String
|
||||
{.importcpp: "std::string()", header: "string".}
|
||||
|
||||
proc append*(this: var String, str: String): var String
|
||||
{.importcpp: "append", header: "string", discardable.}
|
||||
|
||||
var
|
||||
s1 = initString()
|
||||
s2 = initString()
|
||||
|
||||
s1.append s2
|
||||
Reference in New Issue
Block a user