You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
eernstg opened this issue
Jun 27, 2019
· 0 comments
Assignees
Labels
area-vmUse area-vm for VM related issues, including code coverage, and the AOT and JIT backends.type-bugIncorrect behavior (everything from a crash to more subtle misbehavior)
The type of A<int>().f should be R Function<R>(R Function<X>(A<X>)), but the printed text means R Function<R>(R Function<X>(A<R>)), so somehow the type parameter R of the method is used in a location where the type argument X of the parameter type should be.
Note that dart2js prints <T1>(<T2>(A<T2>) => T1) => T1, which is correct, so there must be some dart specific part to this.
The text was updated successfully, but these errors were encountered:
eernstg
added
area-vm
Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
type-bug
Incorrect behavior (everything from a crash to more subtle misbehavior)
labels
Jun 27, 2019
When calling SetupFunctionParameters, Function type arguments were copied into local type parameters. Local type parameters = previous type parameter + function type parameters.
At BuildTypeParameterType(), local type parameters contains duplicated type parameter from function, which ends up with returning wrong type.
Bug: #37382
Change-Id: I8f486b0b9a9120845349fe1734bbfcc35f1126a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108501
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
area-vmUse area-vm for VM related issues, including code coverage, and the AOT and JIT backends.type-bugIncorrect behavior (everything from a crash to more subtle misbehavior)
Consider the following program, which was executed with
dart
from c4af35c:The type of
A<int>().f
should beR Function<R>(R Function<X>(A<X>))
, but the printed text meansR Function<R>(R Function<X>(A<R>))
, so somehow the type parameterR
of the method is used in a location where the type argumentX
of the parameter type should be.Note that
dart2js
prints<T1>(<T2>(A<T2>) => T1) => T1
, which is correct, so there must be somedart
specific part to this.Note the related issue #37381.
The text was updated successfully, but these errors were encountered: