Index: sdk/lib/_internal/compiler/implementation/inferrer/inferrer_visitor.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/inferrer/inferrer_visitor.dart b/sdk/lib/_internal/compiler/implementation/inferrer/inferrer_visitor.dart |
index cf49e902f4f52701b77d855a574f78f393c655bf..a4af9886acda0b4e5c585dfbe284d92d8363a7a3 100644 |
--- a/sdk/lib/_internal/compiler/implementation/inferrer/inferrer_visitor.dart |
+++ b/sdk/lib/_internal/compiler/implementation/inferrer/inferrer_visitor.dart |
@@ -1081,7 +1081,9 @@ abstract class InferrerVisitor |
Node exception = node.exception; |
if (exception != null) { |
DartType type = elements.getType(node.type); |
- T mask = type == null || type.treatAsDynamic |
+ T mask = type == null || |
+ type.treatAsDynamic || |
+ type.kind == TypeKind.TYPE_VARIABLE |
? types.dynamicType |
: types.nonNullSubtype(type.element); |
locals.update(elements[exception], mask, node); |