Skip to content

Commit c6cbcd8

Browse files
committed
stdlib: Address StrictMemorySafety warnings in Cxx String related code.
1 parent d2e8edf commit c6cbcd8

File tree

1 file changed

+38
-38
lines changed

1 file changed

+38
-38
lines changed

stdlib/public/Cxx/std/String.swift

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ extension std.string {
4545
unsafe self.init(str, UTF8._nullCodeUnitOffset(in: str), .init())
4646
#endif
4747
} else {
48-
unsafe self.init()
48+
self.init()
4949
}
5050
}
5151
}
@@ -58,9 +58,9 @@ extension std.u16string {
5858
/// Swift string.
5959
@_alwaysEmitIntoClient
6060
public init(_ string: String) {
61-
unsafe self.init()
61+
self.init()
6262
for char in string.utf16 {
63-
unsafe self.push_back(char)
63+
self.push_back(char)
6464
}
6565
}
6666
}
@@ -73,9 +73,9 @@ extension std.u32string {
7373
/// Swift string.
7474
@_alwaysEmitIntoClient
7575
public init(_ string: String) {
76-
unsafe self.init()
76+
self.init()
7777
for char in string.unicodeScalars {
78-
unsafe self.push_back(char)
78+
self.push_back(char)
7979
}
8080
}
8181
}
@@ -87,7 +87,7 @@ extension std.string: ExpressibleByStringLiteral,
8787

8888
@_alwaysEmitIntoClient
8989
public init(stringLiteral value: String) {
90-
unsafe self.init(value)
90+
self.init(value)
9191
}
9292
}
9393

@@ -96,7 +96,7 @@ extension std.u16string: ExpressibleByStringLiteral,
9696

9797
@_alwaysEmitIntoClient
9898
public init(stringLiteral value: String) {
99-
unsafe self.init(value)
99+
self.init(value)
100100
}
101101
}
102102

@@ -105,7 +105,7 @@ extension std.u32string: ExpressibleByStringLiteral,
105105

106106
@_alwaysEmitIntoClient
107107
public init(stringLiteral value: String) {
108-
unsafe self.init(value)
108+
self.init(value)
109109
}
110110
}
111111

@@ -114,17 +114,17 @@ extension std.u32string: ExpressibleByStringLiteral,
114114
extension std.string: Equatable, Comparable {
115115
@_alwaysEmitIntoClient
116116
public static func ==(lhs: std.string, rhs: std.string) -> Bool {
117-
return unsafe lhs.compare(rhs) == 0
117+
return lhs.compare(rhs) == 0
118118
}
119119

120120
@_alwaysEmitIntoClient
121121
public static func <(lhs: std.string, rhs: std.string) -> Bool {
122-
return unsafe lhs.compare(rhs) < 0
122+
return lhs.compare(rhs) < 0
123123
}
124124

125125
@_alwaysEmitIntoClient
126126
public static func +=(lhs: inout std.string, rhs: std.string) {
127-
unsafe lhs.append(rhs)
127+
lhs.append(rhs)
128128
}
129129

130130
@_alwaysEmitIntoClient
@@ -134,26 +134,26 @@ extension std.string: Equatable, Comparable {
134134

135135
@_alwaysEmitIntoClient
136136
public static func +(lhs: std.string, rhs: std.string) -> std.string {
137-
var copy = unsafe lhs
138-
unsafe copy += rhs
139-
return unsafe copy
137+
var copy = lhs
138+
copy += rhs
139+
return copy
140140
}
141141
}
142142

143143
extension std.u16string: Equatable, Comparable {
144144
@_alwaysEmitIntoClient
145145
public static func ==(lhs: std.u16string, rhs: std.u16string) -> Bool {
146-
return unsafe lhs.compare(rhs) == 0
146+
return lhs.compare(rhs) == 0
147147
}
148148

149149
@_alwaysEmitIntoClient
150150
public static func <(lhs: std.u16string, rhs: std.u16string) -> Bool {
151-
return unsafe lhs.compare(rhs) < 0
151+
return lhs.compare(rhs) < 0
152152
}
153153

154154
@_alwaysEmitIntoClient
155155
public static func +=(lhs: inout std.u16string, rhs: std.u16string) {
156-
unsafe lhs.append(rhs)
156+
lhs.append(rhs)
157157
}
158158

159159
@_alwaysEmitIntoClient
@@ -163,26 +163,26 @@ extension std.u16string: Equatable, Comparable {
163163

164164
@_alwaysEmitIntoClient
165165
public static func +(lhs: std.u16string, rhs: std.u16string) -> std.u16string {
166-
var copy = unsafe lhs
167-
unsafe copy += rhs
168-
return unsafe copy
166+
var copy = lhs
167+
copy += rhs
168+
return copy
169169
}
170170
}
171171

172172
extension std.u32string: Equatable, Comparable {
173173
@_alwaysEmitIntoClient
174174
public static func ==(lhs: std.u32string, rhs: std.u32string) -> Bool {
175-
return unsafe lhs.compare(rhs) == 0
175+
return lhs.compare(rhs) == 0
176176
}
177177

178178
@_alwaysEmitIntoClient
179179
public static func <(lhs: std.u32string, rhs: std.u32string) -> Bool {
180-
return unsafe lhs.compare(rhs) < 0
180+
return lhs.compare(rhs) < 0
181181
}
182182

183183
@_alwaysEmitIntoClient
184184
public static func +=(lhs: inout std.u32string, rhs: std.u32string) {
185-
unsafe lhs.append(rhs)
185+
lhs.append(rhs)
186186
}
187187

188188
@_alwaysEmitIntoClient
@@ -192,9 +192,9 @@ extension std.u32string: Equatable, Comparable {
192192

193193
@_alwaysEmitIntoClient
194194
public static func +(lhs: std.u32string, rhs: std.u32string) -> std.u32string {
195-
var copy = unsafe lhs
196-
unsafe copy += rhs
197-
return unsafe copy
195+
var copy = lhs
196+
copy += rhs
197+
return copy
198198
}
199199
}
200200

@@ -204,7 +204,7 @@ extension std.string: Hashable {
204204
@_alwaysEmitIntoClient
205205
public func hash(into hasher: inout Hasher) {
206206
// Call std::hash<std::string>::operator()
207-
let cxxHash = unsafe __swift_interopComputeHashOfString(self)
207+
let cxxHash = __swift_interopComputeHashOfString(self)
208208
hasher.combine(cxxHash)
209209
}
210210
}
@@ -213,7 +213,7 @@ extension std.u16string: Hashable {
213213
@_alwaysEmitIntoClient
214214
public func hash(into hasher: inout Hasher) {
215215
// Call std::hash<std::u16string>::operator()
216-
let cxxHash = unsafe __swift_interopComputeHashOfU16String(self)
216+
let cxxHash = __swift_interopComputeHashOfU16String(self)
217217
hasher.combine(cxxHash)
218218
}
219219
}
@@ -222,7 +222,7 @@ extension std.u32string: Hashable {
222222
@_alwaysEmitIntoClient
223223
public func hash(into hasher: inout Hasher) {
224224
// Call std::hash<std::u32string>::operator()
225-
let cxxHash = unsafe __swift_interopComputeHashOfU32String(self)
225+
let cxxHash = __swift_interopComputeHashOfU32String(self)
226226
hasher.combine(cxxHash)
227227
}
228228
}
@@ -232,42 +232,42 @@ extension std.u32string: Hashable {
232232
extension std.string: CustomDebugStringConvertible {
233233
@_alwaysEmitIntoClient
234234
public var debugDescription: String {
235-
return "std.string(\(unsafe String(self)))"
235+
return "std.string(\(String(self)))"
236236
}
237237
}
238238

239239
extension std.u16string: CustomDebugStringConvertible {
240240
@_alwaysEmitIntoClient
241241
public var debugDescription: String {
242-
return "std.u16string(\(unsafe String(self)))"
242+
return "std.u16string(\(String(self)))"
243243
}
244244
}
245245

246246
extension std.u32string: CustomDebugStringConvertible {
247247
@_alwaysEmitIntoClient
248248
public var debugDescription: String {
249-
return "std.u32string(\(unsafe String(self)))"
249+
return "std.u32string(\(String(self)))"
250250
}
251251
}
252252

253253
extension std.string: CustomStringConvertible {
254254
@_alwaysEmitIntoClient
255255
public var description: String {
256-
return unsafe String(self)
256+
return String(self)
257257
}
258258
}
259259

260260
extension std.u16string: CustomStringConvertible {
261261
@_alwaysEmitIntoClient
262262
public var description: String {
263-
return unsafe String(self)
263+
return String(self)
264264
}
265265
}
266266

267267
extension std.u32string: CustomStringConvertible {
268268
@_alwaysEmitIntoClient
269269
public var description: String {
270-
return unsafe String(self)
270+
return String(self)
271271
}
272272
}
273273

@@ -289,7 +289,7 @@ extension String {
289289
self = unsafe buffer.withMemoryRebound(to: UInt8.self) {
290290
unsafe String(decoding: $0, as: UTF8.self)
291291
}
292-
unsafe withExtendedLifetime(cxxString) {}
292+
withExtendedLifetime(cxxString) {}
293293
}
294294

295295
/// Creates a String having the same content as the given C++ UTF-16 string.
@@ -306,7 +306,7 @@ extension String {
306306
start: cxxU16String.__dataUnsafe(),
307307
count: cxxU16String.size())
308308
self = unsafe String(decoding: buffer, as: UTF16.self)
309-
unsafe withExtendedLifetime(cxxU16String) {}
309+
withExtendedLifetime(cxxU16String) {}
310310
}
311311

312312
/// Creates a String having the same content as the given C++ UTF-32 string.
@@ -325,7 +325,7 @@ extension String {
325325
self = unsafe buffer.withMemoryRebound(to: UInt32.self) {
326326
unsafe String(decoding: $0, as: UTF32.self)
327327
}
328-
unsafe withExtendedLifetime(cxxU32String) {}
328+
withExtendedLifetime(cxxU32String) {}
329329
}
330330
}
331331

0 commit comments

Comments
 (0)