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 d581ec97ec297109ce3b7f63cffc2ca3662c8f4e..bbd3ed9226c5b98c0338ebbce1d519989f89c7d4 100644 |
--- a/sdk/lib/_internal/compiler/implementation/inferrer/inferrer_visitor.dart |
+++ b/sdk/lib/_internal/compiler/implementation/inferrer/inferrer_visitor.dart |
@@ -1080,7 +1080,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); |