This repository was archived by the owner on Mar 8, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 8
Commit 7ccb480
Update BCL assemblies for mono/mono:2018-06@70fe915d breakage (#19)
Context: dotnet/android#1836
Context: https://jenkins.mono-project.com/job/xamarin-android-pr-builder/4175/API_20Compatibility_20Checks/
The mono/mono:2018-06@70fe915d bump introduced "breaking" changes to
`System.Numerics.Vectors.dll` and `mscorlib.dll`.
`System.Numerics.Vectors.dll` "lost" the `System.Numerics.Vector` and
`System.Numerics.Vector<T>` types, because those were moved to
`mscorlib.dll`, with type forwarders in `System.Numerics.Vectors.dll`.
Unfortunately, `mono-api-html` doesn't understand type forwarders,
and thus reported their movement as breakage.
Update `reference/System.Numerics.Vectors.xml` accordingly.
The `mscorlib.dll` changes are a bit more complicated: the
`System.Buffers.IRetainable` type was removed, as were members
associated with that interface:
<h3>Removed Type <span class='breaking' data-is-breaking>System.Buffers.IRetainable</span></h3>
<!-- start type MemoryHandle --> <div>
<h3>Type Changed: System.Buffers.MemoryHandle</h3>
<p>Removed constructor:</p>
<pre>
<span class='removed removed-constructor breaking' data-is-breaking>public MemoryHandle (IRetainable, void*, System.Runtime.InteropServices.GCHandle);</span>
</pre>
<p>Removed property:</p>
<pre>
<span class='removed removed-property breaking' data-is-breaking>public bool HasPointer { get; }</span>
</pre>
The `IRetainable` type was [accidentally shipped][0], and shouldn't
have been provided in the first place.
> [IRetainable] was design change before RTW unfortunately at that
> point we were not using stable branch of CoreFX so we accidentally
> shipped that API because we missed it when hiding the unstable
> Span APIs
Additionally, `System.Threading.Tasks.ValueTask<T>.CreateAsyncMethodBuilder()`
was removed:
<h3>Type Changed: System.Threading.Tasks.ValueTask`1</h3>
<p>Removed method:</p>
<pre>
<span class='removed removed-method breaking' data-is-breaking>public static System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder<TResult> CreateAsyncMethodBuilder ();</span>
</pre>
`ValueTask<T>.CreateAsyncMethodBuilder()` was removed because
[no code was found to be using it][1], and thus is deemed to be an
acceptable ABI break.
Update `reference/mscorlib.xml` accordingly, and also include all the
new APIs that have been added since c550d1b.
[0]: dotnet/android#1836 (comment)
[1]: https://github.com/dotnet/corefx/issues/22171#issuecomment-3272548751 parent c550d1b commit 7ccb480Copy full SHA for 7ccb480
File tree
Expand file treeCollapse file tree
2 files changed
+16260
-12347
lines changedFilter options
- reference
Expand file treeCollapse file tree
2 files changed
+16260
-12347
lines changed
0 commit comments