-
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
Remove ignored type failures #27223
Comments
Note, this is currently blocked on lack of typed angular templates. Related to #27255. |
Run most tests without the whitelisting. See #27223 R=leafp@google.com Review-Url: https://codereview.chromium.org/2739863003 .
Run most tests without the whitelisting. See #27223 R=leafp@google.com Review-Url: https://codereview.chromium.org/2739863003 .
I'd start with Angular Dart apps. Possible source of type failures:
At this point, we don't know where most ignored errors are coming from. Pageloader will only trigger problems in tests though. |
I'll look into adding tests - these eventually supposed to *not* get ignored (see #27223) R=leafp@google.com Review-Url: https://codereview.chromium.org/2788933002 .
I'll look into adding tests - these eventually supposed to *not* get ignored (see #27223) R=leafp@google.com Review-Url: https://codereview.chromium.org/2788933002 .
@vsmenon is this targeted for 1.24? |
No, good progress with angular this q. Still issues in Zone code. |
Vijay let's get a breakdown of known issues and we can work on it this/next
week.
…On Fri, May 12, 2017, 5:19 PM vsmenon ***@***.***> wrote:
No, good progress with angular this q. Still issues in Zone code.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#27223 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAKQ7tc3xguI20Lbqp_pGtBdM9bsH9vRks5r5PcRgaJpZM4JzJMy>
.
|
Note, this is now primarily blocked on #30225 |
internally this is also blocked by code that uses mirrors to populate Dart class fields, often in unsound ways that bypasses field type checks. |
As we go through and fix existing code that has these failures, here's a bit of verbiage we can use in commit logs to let people know what's going on:
|
In strong mode, a generic type instantiated with dynamic is not a subtype of all types. You can't pass a List<dynamic> to something expecting, say, List<int>. These errors are usually detected statically, and most of those have been fixed. However, sometimes this becomes a runtime cast, as in: main() { // Store a List<dynamic> in a variable of type dynamic. dynamic d = []; // Implicit runtime downcast from dynamic to List<String>. List<String> s = d; } In order to ease the migration to strong mode, DDC has been ignoring these cast failures when they involve certain commonly used types. We are now in the process of actively fixing those errors. More context: dart-lang/sdk#27223
Fix a couple of strong mode runtime cast errors. In strong mode, a generic type instantiated with dynamic is not a subtype of all types. You can't pass a List<dynamic> to something expecting, say, List<int>. These errors are usually detected statically, and most of those have been fixed. However, sometimes this becomes a runtime cast, as in: main() { // Store a List<dynamic> in a variable of type dynamic. dynamic d = []; // Implicit runtime downcast from dynamic to List<String>. List<String> s = d; } In order to ease the migration to strong mode, DDC has been ignoring these cast failures when they involve certain commonly used types. We are now in the process of actively fixing those errors. More context: dart-lang/sdk#27223
In strong mode, a generic type instantiated with dynamic is not a subtype of all types. You can't pass a List<dynamic> to something expecting, say, List<int>. These errors are usually detected statically, and most of those have been fixed. However, sometimes this becomes a runtime cast, as in: main() { // Store a List<dynamic> in a variable of type dynamic. dynamic d = []; // Implicit runtime downcast from dynamic to List<String>. List<String> s = d; } In order to ease the migration to strong mode, DDC has been ignoring these cast failures when they involve certain commonly used types. We are now in the process of actively fixing those errors. More context: dart-lang/sdk#27223
* Fix runtime cast failures. In strong mode, a generic type instantiated with dynamic is not a subtype of all types. You can't pass a List<dynamic> to something expecting, say, List<int>. These errors are usually detected statically, and most of those have been fixed. However, sometimes this becomes a runtime cast, as in: main() { // Store a List<dynamic> in a variable of type dynamic. dynamic d = []; // Implicit runtime downcast from dynamic to List<String>. List<String> s = d; } In order to ease the migration to strong mode, DDC has been ignoring these cast failures when they involve certain commonly used types. We are now in the process of actively fixing those errors. More context: dart-lang/sdk#27223 * Update SDK constraints. * Use newer dev version of the SDK on Travis. * Bump minimum SDK constraint.
See #27223 Change-Id: I9689ce9a72597b3e5c945f9787f2de6c5e8c2074 Reviewed-on: https://dart-review.googlesource.com/54701 Commit-Queue: Vijay Menon <vsm@google.com> Reviewed-by: Bob Nystrom <rnystrom@google.com> Reviewed-by: Jenny Messerly <jmesserly@google.com>
See #27223 Change-Id: Ia23edc3700a8e0bb3d982be9b0bb36ad4522091d Reviewed-on: https://dart-review.googlesource.com/56033 Reviewed-by: Samuel Rawlins <srawlins@google.com> Commit-Queue: Vijay Menon <vsm@google.com>
Are these still ignored in the external SDK? |
Should not be, but the hook is still there for internal. |
From @vsmenon on August 25, 2016 16:49
This was a temporary workaround until generic methods. We should eliminate this:
https://github.com/dart-lang/dev_compiler/blob/master/tool/input_sdk/private/ddc_runtime/operations.dart#L272
Copied from original issue: dart-archive/dev_compiler#630
The text was updated successfully, but these errors were encountered: