   /// your program. Do not save hash values to use during a future execution.
   @_inlineable // FIXME(sil-serialize-all)
   public var hashValue: Int {
-    return _guts._computeHashValue()
+    defer { _fixLifetime(self) }
+    let gutsBits = _guts.rawBits
+    return _StringGuts._computeHashValue(_unsafeBitPattern: gutsBits)
   }
 }
 

}

extension _StringGuts {
  @_versioned
  @inline(never) // Hide the CF dependency
  internal func _computeHashValue() -> Int {
    if _slowPath(_isOpaque) {
      return _asOpaque().computeHashValue()
    }

  }

  @_versioned
  // TODO: After removing above hack: @inline(never) // Hide the CF dependency
  internal func _computeHashValue(_ range: Range<Int>) -> Int {
    defer { _fixLifetime(self) }
    if _slowPath(_isOpaque) {
      return _asOpaque()[range].computeHashValue()
    }
