Files
swift-mirror/validation-test/SILOptimizer/issue-72615.swift
2024-06-11 17:43:18 -07:00

30 lines
793 B
Swift

// RUN: %target-swift-frontend \
// RUN: %s \
// RUN: -emit-sil -verify \
// RUN: -sil-verify-all
func doStuffUniquely(with value: consuming [Int]) {
// If we received the last remaining reference to `value`, we'd like
// to be able to efficiently update it without incurring more copies.
var newValue = consume value
newValue.append(42)
}
func test() {
var x: [Int] = [1,2,3]
// x is appended to. After this point, we know that x is unique. We want to
// preserve that property.
x.append(5)
// Pass the current value of x off to another function, that
doStuffUniquely(with: consume x)
// Reset x to a new value. Since we don't use the old value anymore,
x = []
doMoreStuff(with: &x)
}
func doMoreStuff(with value: inout [Int]) {
}