Revert "sink tuples by values (#24731)"

This reverts commit b9d3348dab.
This commit is contained in:
narimiran
2025-03-03 20:32:56 +01:00
parent 6bc07c7e3f
commit 58f1e22db3
2 changed files with 1 additions and 21 deletions

View File

@@ -101,11 +101,7 @@ proc ccgIntroducedPtr*(conf: ConfigRef; s: PSym, retType: PType): bool =
result = true # ordinary objects are always passed by reference,
# otherwise casting doesn't work
of tyTuple:
if s.typ.kind == tySink:
# it's a sink, so we pass it by value
result = false
else:
result = (getSize(conf, pt) > conf.target.floatSize*3) or (optByRef in s.options)
result = (getSize(conf, pt) > conf.target.floatSize*3) or (optByRef in s.options)
else:
result = false
# first parameter and return type is 'lent T'? --> use pass by pointer

View File

@@ -33,7 +33,6 @@ copying
123
42
@["", "d", ""]
mutate: 1
ok
destroying variable: 20
destroying variable: 10
@@ -883,18 +882,3 @@ proc test_18070() = # bug #18070
doAssert msg == "", "expected empty string but got: " & $msg
test_18070()
type AnObject = tuple
a: string
b: int
c: int
proc mutate(a: sink AnObject) =
`=wasMoved`(a)
echo "mutate: 1"
# echo "Value is: ", obj.value
proc bar =
mutate(("1.2", 0, 0))
bar()