 ///      }
 ///
 @_fixed_layout
-public struct ManagedBufferPointer<Header, Element> : Equatable {
+public struct ManagedBufferPointer<Header, Element> {
+
+  @usableFromInline
+  internal var _nativeBuffer: Builtin.NativeObject
 
   /// Create with new storage containing an initial `Header` and space
   /// for at least `minimumCapacity` `element`s.


  /// Internal version for use by _ContiguousArrayBuffer.init where we know that
  /// we have a valid buffer class and that the capacity is >= 0.
  @inlinable // FIXME(sil-serialize-all)
  internal init(
    _uncheckedBufferClass: AnyClass,
    minimumCapacity: Int

  }

  /// The actual number of bytes allocated for this object.
  @inlinable
  internal var _capacityInBytes: Int {
    return _swift_stdlib_malloc_size(_address)
  }

  /// The address of this instance in a convenient pointer-to-bytes form
  @inlinable
  internal var _address: UnsafeMutableRawPointer {
    return UnsafeMutableRawPointer(Builtin.bridgeToRawPointer(_nativeBuffer))
  }

  /// Offset from the allocated storage for `self` to the stored `Header`
  @inlinable
  internal static var _headerOffset: Int {
    _onFastPath()
    return _roundUp(
