Skip to content

Commit 1d4b6df

Browse files
author
Nathan Hawes
committed
Update tests from @_inheritedDefaultValue to '= super'
1 parent c95252e commit 1d4b6df

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

test/ParseableInterface/default-args.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class Derived: Base {
2424
self.init()
2525
}
2626

27-
// CHECK: override {{(public )?}}init(@_inheritedDefaultValue x: Int)
27+
// CHECK: override {{(public )?}}init(x: Int = super)
2828
}
2929

3030
public enum Enum {

test/ParseableInterface/inherited-defaults-checks.swiftinterface

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,27 @@ public class Bar {
1212
}
1313

1414
public class Foo: Bar {
15-
public override init(@_inheritedDefaultValue x: Int, y: Int)
16-
public subscript(@_inheritedDefaultValue k: Int) -> Int { get } // expected-error {{@_inheritedDefaultValue is only valid on parameter declarations of initializers}}
17-
public func foo(@_inheritedDefaultValue z: Int) // expected-error {{@_inheritedDefaultValue is only valid on parameter declarations of initializers}}
15+
public override init(x: Int = super, y: Int)
16+
public subscript(k: Int = super) -> Int { get } // expected-error {{default value inheritance via 'super' is only valid for initializer parameters}}
17+
public func foo(z: Int = super) // expected-error {{default value inheritance via 'super' is only valid for initializer parameters}}
1818
}
1919

2020
public class Baz: Bar {
21-
public override init(@_inheritedDefaultValue x: Int, @_inheritedDefaultValue y: Int) // expected-error {{@_inheritedDefaultValue requires that the corresponding parameter of the overridden initializer has a default value}}
21+
public override init(x: Int = super, y: Int = super) // expected-error {{default value inheritance via 'super' requires that the corresponding parameter of the overridden initializer has a default value}}
2222
}
2323

24-
@_inheritedDefaultValue public enum Bob { // expected-error {{@_inheritedDefaultValue may only be used on 'parameter' declarations}}
24+
public class Direct: Bar {
25+
public override init(x: Int = super, y: Int)
26+
public override init(other: Int = super, value: Int) // expected-error {{argument labels for initializer 'init(other:value:)' do not match those of overridden initializer 'init(x:y:)'}}
27+
// expected-error@-1 {{default value inheritance via 'super' can only be used on the parameters of overriding initializers}}
28+
}
29+
30+
public class Indirect: Direct {
31+
public override init(x: Int = super, y: Int)
32+
public override init(other: Int = super, value: Int)
33+
}
34+
35+
public enum Bob {
2536
case bar(p: Int)
26-
public init(@_inheritedDefaultValue foo: String) // expected-error {{@_inheritedDefaultValue can only be used on the parameters of overriding initializers}}
37+
public init(foo: String = super /*comment*/) // expected-error {{default value inheritance via 'super' can only be used on the parameters of overriding initializers}}
2738
}

0 commit comments

Comments
 (0)