@@ -254,9 +254,10 @@ CStringTests.test("String.cString.with.Array.CChar.input") {
254254 do {
255255 let ( u8p, dealloc) = getASCIIUTF8 ( )
256256 defer { dealloc ( ) }
257- let cstr = UnsafeRawPointer ( u8p) . assumingMemoryBound ( to: CChar . self)
258- let buffer = UnsafeBufferPointer ( start: cstr, count: getUTF8Length ( u8p) + 1 )
259- let str = String ( cString: Array ( buffer) )
257+ let buffer = UnsafeBufferPointer ( start: u8p, count: getUTF8Length ( u8p) + 1 )
258+ let str = buffer. withMemoryRebound ( to: CChar . self) {
259+ String ( cString: Array ( $0) )
260+ }
260261 str. withCString {
261262 $0. withMemoryRebound ( to: UInt8 . self, capacity: buffer. count) {
262263 expectEqualCString ( u8p, $0)
@@ -324,9 +325,10 @@ CStringTests.test("String.validatingUTF8.with.Array.input") {
324325 do {
325326 let ( u8p, dealloc) = getASCIIUTF8 ( )
326327 defer { dealloc ( ) }
327- let cstr = UnsafeRawPointer ( u8p) . assumingMemoryBound ( to: CChar . self)
328- let buffer = UnsafeBufferPointer ( start: cstr, count: getUTF8Length ( u8p) + 1 )
329- let str = String ( validatingUTF8: Array ( buffer) )
328+ let buffer = UnsafeBufferPointer ( start: u8p, count: getUTF8Length ( u8p) + 1 )
329+ let str = buffer. withMemoryRebound ( to: CChar . self) {
330+ String ( validatingUTF8: Array ( $0) )
331+ }
330332 expectNotNil ( str)
331333 str? . withCString {
332334 $0. withMemoryRebound ( to: UInt8 . self, capacity: buffer. count) {
@@ -382,9 +384,10 @@ CStringTests.test("String.decodeCString.with.Array.input") {
382384 do {
383385 let ( u8p, dealloc) = getASCIIUTF8 ( )
384386 defer { dealloc ( ) }
385- let cstr = UnsafeRawPointer ( u8p) . assumingMemoryBound ( to: Unicode . UTF8. CodeUnit. self)
386- let buffer = UnsafeBufferPointer ( start: cstr, count: getUTF8Length ( u8p) + 1 )
387- let result = String . decodeCString ( Array ( buffer) , as: Unicode . UTF8. self)
387+ let buffer = UnsafeBufferPointer ( start: u8p, count: getUTF8Length ( u8p) + 1 )
388+ let result = buffer. withMemoryRebound ( to: Unicode . UTF8. CodeUnit. self) {
389+ String . decodeCString ( Array ( $0) , as: Unicode . UTF8. self)
390+ }
388391 expectNotNil ( result)
389392 expectEqual ( result? . repairsMade, false )
390393 result? . result. withCString {
@@ -448,9 +451,10 @@ CStringTests.test("String.init.decodingCString.with.Array.input") {
448451 do {
449452 let ( u8p, dealloc) = getASCIIUTF8 ( )
450453 defer { dealloc ( ) }
451- let cstr = UnsafeRawPointer ( u8p) . assumingMemoryBound ( to: Unicode . UTF8. CodeUnit. self)
452- let buffer = UnsafeBufferPointer ( start: cstr, count: getUTF8Length ( u8p) + 1 )
453- let str = String ( decodingCString: Array ( buffer) , as: Unicode . UTF8. self)
454+ let buffer = UnsafeBufferPointer ( start: u8p, count: getUTF8Length ( u8p) + 1 )
455+ let str = buffer. withMemoryRebound ( to: Unicode . UTF8. CodeUnit. self) {
456+ String ( decodingCString: Array ( $0) , as: Unicode . UTF8. self)
457+ }
454458 str. withCString {
455459 $0. withMemoryRebound ( to: UInt8 . self, capacity: buffer. count) {
456460 expectEqualCString ( u8p, $0)
0 commit comments