-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
proposed breaking change to dart:ffi: stop reifying Pointer<T> #49935
Comments
Correct, we migrated almost everything to extension methods. I see We own all the constructors, and Pointer cannot be extended, so we should be able to ensure all pointers will have @eernstg I'd love to know if defining |
One interesting consideration here is that |
All `Pointer`s will now have the `Never` type argument at runtime. TEST=tests/ffi(_2)/* Bug: #49935 Change-Id: I83c8bba9461c2cab22992ba2e3cf42b7b5f43c36 Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-nnbd-linux-debug-x64-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-reload-linux-debug-x64-try,vm-kernel-win-debug-x64-try,vm-kernel-precomp-win-debug-x64c-try,vm-kernel-mac-debug-x64-try,dart-sdk-mac-arm64-try,vm-precomp-ffi-qemu-linux-release-arm-try,vm-ffi-android-debug-arm64c-try Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/272201 Commit-Queue: Daco Harkes <[email protected]> Reviewed-by: Slava Egorov <[email protected]>
The merged CL seems to have caused a regression: #50678. |
@knopp Thank you for the report. We are already aware, a fix is on its way |
@knopp We have identified the issue with the CL, was fixed in e3e355e.
@dcharkes should we go ahead and do that before Dart 3? |
I can confirm that e3e355e fixes the error for me. Thanks! |
I've filed #50714 to track this. This issue can be closed. |
I propose we stop reifying underlying element type for
Pointer<T>
objects in preparation to unboxing pointer or migrating FFI to views. I am filing this issue for discussion.Currently
Pointer<T>
objects are carrying their reified type around, but most of the APIs are based on the static type.I propose we fix any APIs that are still using dynamic type and switch
Pointer<T>
factory to producePointer<Never>
instead./cc @dcharkes @mkustermann
The text was updated successfully, but these errors were encountered: