mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
The clang::RewriteBuffer can do weird things when seeing multiple replacements where the replacement text is one character longer or one character shorter than the range it is replacing. rdar://problem/32234525
30 lines
851 B
Swift
30 lines
851 B
Swift
// RUN: %target-swift-frontend -typecheck %s -swift-version 3
|
|
// RUN: rm -rf %t && mkdir -p %t && %target-swift-frontend -typecheck -update-code -primary-file %s -emit-migrated-file-path %t/double_fixit_ok.result -swift-version 3
|
|
// RUN: diff -u %s.expected %t/double_fixit_ok.result
|
|
// RUN: %target-swift-frontend -typecheck %s.expected -swift-version 4
|
|
|
|
@available(swift, obsoleted: 4, renamed: "Thing.constant___renamed")
|
|
let ThingConstantGotRenamed = 1
|
|
|
|
@available(swift, obsoleted: 4, renamed: "Thing.constant_renamed")
|
|
let ThingConstantWasRenamed = 1
|
|
|
|
struct Thing {
|
|
static let constant___renamed = 1
|
|
static let constant_renamed = 1
|
|
func foo(_ c: Int) {}
|
|
}
|
|
|
|
class MyClass {
|
|
func foo() {
|
|
let _: Thing = {
|
|
let t = Thing()
|
|
t.foo(ThingConstantGotRenamed)
|
|
t.foo(ThingConstantWasRenamed)
|
|
return t
|
|
}()
|
|
}
|
|
}
|
|
|
|
|