Skip to content

Commit b133777

Browse files
committed
[stdlib] improve the new deprecation messages
1 parent cfdb44e commit b133777

File tree

2 files changed

+18
-18
lines changed

2 files changed

+18
-18
lines changed

stdlib/public/core/CString.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ extension String {
7474

7575
@inlinable
7676
@_alwaysEmitIntoClient
77-
@available(*, deprecated)
77+
@available(*, deprecated, message: "Use String(_ scalar: Unicode.Scalar)")
7878
public init(cString nullTerminatedUTF8: inout CChar) {
7979
guard nullTerminatedUTF8 == 0 else {
8080
_preconditionFailure(
@@ -105,14 +105,14 @@ extension String {
105105

106106
@inlinable
107107
@_alwaysEmitIntoClient
108-
@available(*, deprecated, message: "Operate directly on the String")
108+
@available(*, deprecated, message: "Use a copy of the String argument")
109109
public init(cString nullTerminatedUTF8: String) {
110110
self = nullTerminatedUTF8.withCString(String.init(cString:))
111111
}
112112

113113
@inlinable
114114
@_alwaysEmitIntoClient
115-
@available(*, deprecated)
115+
@available(*, deprecated, message: "Use String(_ scalar: Unicode.Scalar)")
116116
public init(cString nullTerminatedUTF8: inout UInt8) {
117117
guard nullTerminatedUTF8 == 0 else {
118118
_preconditionFailure(
@@ -174,14 +174,14 @@ extension String {
174174

175175
@inlinable
176176
@_alwaysEmitIntoClient
177-
@available(*, deprecated, message: "Operate directly on the String")
177+
@available(*, deprecated, message: "Use a copy of the String argument")
178178
public init?(validatingUTF8 cString: String) {
179179
self = cString.withCString(String.init(cString:))
180180
}
181181

182182
@inlinable
183183
@_alwaysEmitIntoClient
184-
@available(*, deprecated)
184+
@available(*, deprecated, message: "Use String(_ scalar: Unicode.Scalar)")
185185
public init?(validatingUTF8 cString: inout CChar) {
186186
guard cString == 0 else {
187187
_preconditionFailure(
@@ -302,7 +302,7 @@ extension String {
302302
@_specialize(where Encoding == Unicode.UTF16)
303303
@inlinable
304304
@_alwaysEmitIntoClient
305-
@available(*, deprecated, message: "Operate directly on the String")
305+
@available(*, deprecated, message: "Use a copy of the String argument")
306306
public static func decodeCString<Encoding: _UnicodeEncoding>(
307307
_ cString: String,
308308
as encoding: Encoding.Type,
@@ -319,7 +319,7 @@ extension String {
319319
@_specialize(where Encoding == Unicode.UTF16)
320320
@inlinable
321321
@_alwaysEmitIntoClient
322-
@available(*, deprecated)
322+
@available(*, deprecated, message: "Use String(_ scalar: Unicode.Scalar)")
323323
public static func decodeCString<Encoding: _UnicodeEncoding>(
324324
_ cString: inout Encoding.CodeUnit,
325325
as encoding: Encoding.Type,
@@ -367,7 +367,7 @@ extension String {
367367
@_specialize(where Encoding == Unicode.UTF16)
368368
@inlinable
369369
@_alwaysEmitIntoClient
370-
@available(*, deprecated, message: "Operate directly on the String")
370+
@available(*, deprecated, message: "Use a copy of the String argument")
371371
public init<Encoding: _UnicodeEncoding>(
372372
decodingCString nullTerminatedCodeUnits: String,
373373
as sourceEncoding: Encoding.Type
@@ -381,7 +381,7 @@ extension String {
381381
@_specialize(where Encoding == Unicode.UTF16)
382382
@inlinable // Fold away specializations
383383
@_alwaysEmitIntoClient
384-
@available(*, deprecated)
384+
@available(*, deprecated, message: "Use String(_ scalar: Unicode.Scalar)")
385385
public init<Encoding: Unicode.Encoding>(
386386
decodingCString nullTerminatedCodeUnits: inout Encoding.CodeUnit,
387387
as sourceEncoding: Encoding.Type

test/stdlib/StringAPICStringDiagnostics.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,30 @@ import StdlibUnittest
44

55
func checkStringOverloadCompilationDiagnostics() {
66

7-
_ = String(cString: "string") // expected-warning {{'init(cString:)' is deprecated: Operate directly on the String}}
7+
_ = String(cString: "string") // expected-warning {{'init(cString:)' is deprecated: Use a copy of the String argument}}
88

9-
_ = String(validatingUTF8: "string") // expected-warning {{init(validatingUTF8:)' is deprecated: Operate directly on the String}}
9+
_ = String(validatingUTF8: "string") // expected-warning {{init(validatingUTF8:)' is deprecated: Use a copy of the String argument}}
1010

11-
_ = String.decodeCString("string", as: Unicode.UTF8.self) // expected-warning {{'decodeCString(_:as:repairingInvalidCodeUnits:)' is deprecated: Operate directly on the String}}
11+
_ = String.decodeCString("string", as: Unicode.UTF8.self) // expected-warning {{'decodeCString(_:as:repairingInvalidCodeUnits:)' is deprecated: Use a copy of the String argument}}
1212

13-
_ = String(decodingCString: "string", as: Unicode.UTF8.self) // expected-warning {{'init(decodingCString:as:)' is deprecated: Operate directly on the String}}
13+
_ = String(decodingCString: "string", as: Unicode.UTF8.self) // expected-warning {{'init(decodingCString:as:)' is deprecated: Use a copy of the String argument}}
1414
}
1515

1616
func checkInoutConversionOverloadCompilationDiagnostics() {
1717

1818
var i = UInt8.zero
1919

20-
_ = String(cString: &i) // expected-warning {{'init(cString:)' is deprecated}}
20+
_ = String(cString: &i) // expected-warning {{'init(cString:)' is deprecated: Use String(_ scalar: Unicode.Scalar)}}
2121

2222
var c = CChar.zero
2323

24-
_ = String(cString: &c) // expected-warning {{'init(cString:)' is deprecated}}
24+
_ = String(cString: &c) // expected-warning {{'init(cString:)' is deprecated: Use String(_ scalar: Unicode.Scalar)}}
2525

26-
_ = String(validatingUTF8: &c) // expected-warning {{init(validatingUTF8:)' is deprecated}}
26+
_ = String(validatingUTF8: &c) // expected-warning {{init(validatingUTF8:)' is deprecated: Use String(_ scalar: Unicode.Scalar)}}
2727

2828
var u = Unicode.UTF8.CodeUnit.zero
2929

30-
_ = String.decodeCString(&u, as: Unicode.UTF8.self) // expected-warning {{'decodeCString(_:as:repairingInvalidCodeUnits:)' is deprecated}}
30+
_ = String.decodeCString(&u, as: Unicode.UTF8.self) // expected-warning {{'decodeCString(_:as:repairingInvalidCodeUnits:)' is deprecated: Use String(_ scalar: Unicode.Scalar)}}
3131

32-
_ = String(decodingCString: &u, as: Unicode.UTF8.self) // expected-warning {{'init(decodingCString:as:)' is deprecated}}
32+
_ = String(decodingCString: &u, as: Unicode.UTF8.self) // expected-warning {{'init(decodingCString:as:)' is deprecated: Use String(_ scalar: Unicode.Scalar)}}
3333
}

0 commit comments

Comments
 (0)