   @usableFromInline
   internal var _slice: Slice<String>
 
+  @_alwaysEmitIntoClient // Swift 5.7
   @inline(__always)
   internal init(_unchecked slice: Slice<String>) {
     self._slice = slice
     _invariantCheck()
+  }
+
+  @_alwaysEmitIntoClient // Swift 5.7
+  @inline(__always)
+  internal init(_unchecked guts: _StringGuts, bounds: Range<Index>) {
+    self.init(_unchecked: Slice(base: String(guts), bounds: bounds))
   }
 
   @usableFromInline // This used to be @inlinable before 5.7

  /// - Complexity: O(N), where N is the length of the resulting `String`'s
  ///   UTF-16.
  public init?(_ codeUnits: Substring.UTF16View) {
    let guts = codeUnits._slice._base._guts
    guard guts.isOnUnicodeScalarBoundary(codeUnits._slice.startIndex),
          guts.isOnUnicodeScalarBoundary(codeUnits._slice.endIndex) else {
      return nil
    }


  @inlinable
  public var utf8: UTF8View {
    get {
      // No need for index validation
      UTF8View(base.utf8, _bounds: _bounds)
    }
    set {
      self = Substring(newValue)
