-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Description
I noticed the below warning when building Frog:
leg/scanner/listener.dart:536:24: warning: type "EmptyLink$Token" is not assignable to "Link$Node"
Link<Node> nodes = const EmptyLink<Node>();
^^^^^^^^^^^^^^^^^^^^^^^
I see the following problems:
- There should be no warning here. EmptyLink<Node> is a subtype of Link<Node>. Even if the type system was sound.
- There are no types named EmptyLink$Token or Link$Node in the entire program. This might be as simple as a toString method that is wrong and EmptyLink$Token may mean EmptyLink<Token>, etc.
- If my interpretation in 2. is correct, it looks like there is a problem with canonicalization of parameterized types. Type arguments should be part of the canonicalization algorithm.
Metadata
Metadata
Assignees
Labels
No labels