[vm/ffi] Breaking change notes for #44621 and #44622

Issue: https://github.com/dart-lang/sdk/issues/44621
Issue: https://github.com/dart-lang/sdk/issues/44622

Change-Id: I9689db63a5b47946b501fac9df63cc86811d6e41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179764
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
This commit is contained in:
Daco Harkes 2021-01-22 13:58:09 +00:00 committed by commit-bot@chromium.org
parent d74b2f4672
commit f05f5adc94

View file

@ -69,6 +69,25 @@
[#42312]: https://github.com/dart-lang/sdk/issues/42312
### Foreign Function Interface (`dart:ffi`)
* **Breaking Change** [#44621][]: Invocations with a generic `T` of
`sizeOf<T>`, `Pointer<T>.elementAt()`, `Pointer<T extends Struct>.ref`, and
`Pointer<T extends Struct>[]` are being deprecated in the current stable
release (2.12), and are planned to be fully removed in the following stable
release (2.13). Consequently, `allocate` in `package:ffi` will no longer be
able to invoke `sizeOf<T>` generically, and will be deprecated as well.
Instead, the `Allocator` it is introduced to `dart:ffi`, and also requires
a constant `T` on invocations. For migration notes see the breaking change
request.
* **Breaking Change** [#44622][]: Subtypes of `Struct` without any native
member are being deprecated in the current stable release (2.12), and are
planned to be fully removed in the following stable release (2.13).
Migrate opaque types to extend `Opaque` rather than `Struct`.
[#44621]: https://github.com/dart-lang/sdk/issues/44621
[#44622]: https://github.com/dart-lang/sdk/issues/44622
### Dart2JS
* Removed `--no-defer-class-types` and `--no-new-deferred-split`.