@@ -311,7 +311,7 @@ public class NSString : NSObject, NSCopying, NSMutableCopying, NSSecureCoding, N
311
311
}
312
312
313
313
public required init ( stringLiteral value: StaticString ) {
314
- _storage = String ( value)
314
+ _storage = String ( describing : value)
315
315
}
316
316
317
317
internal var _fastCStringContents : UnsafePointer < Int8 > ? {
@@ -366,7 +366,7 @@ extension NSString {
366
366
367
367
public func substring( from: Int ) -> String {
368
368
if self . dynamicType == NSString . self || self . dynamicType == NSMutableString . self {
369
- return String ( _storage. utf16. suffix ( from: _storage. utf16. startIndex. advanced ( by: from) ) )
369
+ return String ( _storage. utf16. suffix ( from: _storage. utf16. startIndex. advanced ( by: from) ) ) !
370
370
} else {
371
371
return substring ( with: NSMakeRange ( from, length - from) )
372
372
}
@@ -375,7 +375,7 @@ extension NSString {
375
375
public func substring( to: Int ) -> String {
376
376
if self . dynamicType == NSString . self || self . dynamicType == NSMutableString . self {
377
377
return String ( _storage. utf16. prefix ( upTo: _storage. utf16. startIndex
378
- . advanced ( by: to) ) )
378
+ . advanced ( by: to) ) ) !
379
379
} else {
380
380
return substring ( with: NSMakeRange ( 0 , to) )
381
381
}
@@ -386,11 +386,11 @@ extension NSString {
386
386
let start = _storage. utf16. startIndex
387
387
let min = start. advanced ( by: range. location)
388
388
let max = start. advanced ( by: range. location + range. length)
389
- return String ( _storage. utf16 [ min..< max] )
389
+ return String ( _storage. utf16 [ min..< max] ) !
390
390
} else {
391
391
let buff = UnsafeMutablePointer< unichar> . allocate( capacity: range. length)
392
392
getCharacters ( buff, range: range)
393
- let result = String ( buff)
393
+ let result = String ( describing : buff)
394
394
buff. deinitialize ( )
395
395
buff. deallocate ( capacity: range. length)
396
396
return result
0 commit comments