| Index: pkg/kernel/lib/type_algebra.dart
|
| diff --git a/pkg/kernel/lib/type_algebra.dart b/pkg/kernel/lib/type_algebra.dart
|
| index ce4a553dc4a851e34e003d9e907e98002f8abd15..c86f4d21f80ec258cf0fa3dc8eb9806cad3c2852 100644
|
| --- a/pkg/kernel/lib/type_algebra.dart
|
| +++ b/pkg/kernel/lib/type_algebra.dart
|
| @@ -365,6 +365,7 @@ abstract class _TypeSubstitutor extends DartTypeVisitor<DartType> {
|
| DartType visitDynamicType(DynamicType node) => node;
|
| DartType visitVoidType(VoidType node) => node;
|
| DartType visitBottomType(BottomType node) => node;
|
| + DartType visitVector(VectorType node) => node;
|
|
|
| DartType visitInterfaceType(InterfaceType node) {
|
| if (node.typeArguments.isEmpty) return node;
|
| @@ -539,6 +540,7 @@ class _TypeUnification {
|
| if (type1 is VoidType && type2 is VoidType) return true;
|
| if (type1 is InvalidType && type2 is InvalidType) return true;
|
| if (type1 is BottomType && type2 is BottomType) return true;
|
| + if (type1 is VectorType && type2 is VectorType) return true;
|
| if (type1 is InterfaceType && type2 is InterfaceType) {
|
| if (type1.classNode != type2.classNode) return _fail();
|
| assert(type1.typeArguments.length == type2.typeArguments.length);
|
| @@ -647,6 +649,7 @@ class _OccurrenceVisitor extends DartTypeVisitor<bool> {
|
| bool visitInvalidType(InvalidType node) => false;
|
| bool visitDynamicType(DynamicType node) => false;
|
| bool visitVoidType(VoidType node) => false;
|
| + bool visitVectorType(VectorType node) => false;
|
|
|
| bool visitInterfaceType(InterfaceType node) {
|
| return node.typeArguments.any(visit);
|
|
|