   expectTrue(str.isEmpty)
 }
 
+CStringTests.test("String.init.decodingCString.with.inout.conversion") {
+  var c = Unicode.UTF8.CodeUnit.zero
+  var str = String(decodingCString: &c, as: Unicode.UTF8.self)
+  expectEqual(str.isEmpty, true)
+  c = 100
+  expectCrashLater(
+    withMessage: "input of String.init(decodingCString:as:) must be null-terminated"
+  )
+  str = String(decodingCString: &c, as: Unicode.UTF8.self)
+  expectUnreachable()
+}
+
 runAllTests()
 

  str = String(validatingUTF8: "")
  expectNotNil(str)
  expectEqual(str?.isEmpty, true)
}

CStringTests.test("String.decodeCString.with.Array.input") {

  expectTrue(str.isEmpty)
}

CStringTests.test("String.cString.with.inout.UInt8.conversion") {
  var c = UInt8.zero
  var str = String(cString: &c)
  expectTrue(str.isEmpty)
  c = 100
  expectCrashLater(
    withMessage: "input of String.init(cString:) must be null-terminated"
  )
  str = String(cString: &c)
  expectUnreachable()
}

CStringTests.test("String.cString.with.inout.CChar.conversion") {
  var c = CChar.zero
  var str = String(cString: &c)
  expectTrue(str.isEmpty)
  c = 100
  expectCrashLater(
    withMessage: "input of String.init(cString:) must be null-terminated"
  )
  str = String(cString: &c)
  expectUnreachable()
}

CStringTests.test("String.validatingUTF8.with.Array.input") {
  do {
    let (u8p, dealloc) = getASCIIUTF8()
