From 794c40e39785c534be23e333fcc7f5005995aef0 Mon Sep 17 00:00:00 2001
From: Wesley Wigham <wewigham@microsoft.com>
Date: Mon, 20 Nov 2017 14:31:21 -0800
Subject: [PATCH] Fix build in the presence of definite assignment analysis

---
 tests/baselines/reference/narrowingConstrainedTypeVariable.js | 2 +-
 .../reference/narrowingConstrainedTypeVariable.symbols        | 4 ++--
 .../reference/narrowingConstrainedTypeVariable.types          | 4 ++--
 .../instanceOf/narrowingConstrainedTypeVariable.ts            | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/tests/baselines/reference/narrowingConstrainedTypeVariable.js b/tests/baselines/reference/narrowingConstrainedTypeVariable.js
index feb2018a7b181..50d26f5594b20 100644
--- a/tests/baselines/reference/narrowingConstrainedTypeVariable.js
+++ b/tests/baselines/reference/narrowingConstrainedTypeVariable.js
@@ -23,7 +23,7 @@ function f2<T extends C, U extends D>(v: T | U) {
     }
 }
 
-class E { x: string }
+class E { x: string | undefined }
 
 function f3<T extends E>(v: T | { x: string }) {
     if (v instanceof E) {
diff --git a/tests/baselines/reference/narrowingConstrainedTypeVariable.symbols b/tests/baselines/reference/narrowingConstrainedTypeVariable.symbols
index e973eea702169..d24cfa6d7f14f 100644
--- a/tests/baselines/reference/narrowingConstrainedTypeVariable.symbols
+++ b/tests/baselines/reference/narrowingConstrainedTypeVariable.symbols
@@ -57,12 +57,12 @@ function f2<T extends C, U extends D>(v: T | U) {
     }
 }
 
-class E { x: string }
+class E { x: string | undefined }
 >E : Symbol(E, Decl(narrowingConstrainedTypeVariable.ts, 22, 1))
 >x : Symbol(E.x, Decl(narrowingConstrainedTypeVariable.ts, 24, 9))
 
 function f3<T extends E>(v: T | { x: string }) {
->f3 : Symbol(f3, Decl(narrowingConstrainedTypeVariable.ts, 24, 21))
+>f3 : Symbol(f3, Decl(narrowingConstrainedTypeVariable.ts, 24, 33))
 >T : Symbol(T, Decl(narrowingConstrainedTypeVariable.ts, 26, 12))
 >E : Symbol(E, Decl(narrowingConstrainedTypeVariable.ts, 22, 1))
 >v : Symbol(v, Decl(narrowingConstrainedTypeVariable.ts, 26, 25))
diff --git a/tests/baselines/reference/narrowingConstrainedTypeVariable.types b/tests/baselines/reference/narrowingConstrainedTypeVariable.types
index aa8e30194fb86..59469f5df6d8a 100644
--- a/tests/baselines/reference/narrowingConstrainedTypeVariable.types
+++ b/tests/baselines/reference/narrowingConstrainedTypeVariable.types
@@ -59,9 +59,9 @@ function f2<T extends C, U extends D>(v: T | U) {
     }
 }
 
-class E { x: string }
+class E { x: string | undefined }
 >E : E
->x : string
+>x : string | undefined
 
 function f3<T extends E>(v: T | { x: string }) {
 >f3 : <T extends E>(v: T | { x: string; }) => void
diff --git a/tests/cases/conformance/types/typeRelationships/instanceOf/narrowingConstrainedTypeVariable.ts b/tests/cases/conformance/types/typeRelationships/instanceOf/narrowingConstrainedTypeVariable.ts
index 13cc8da68c98b..04623503f9864 100644
--- a/tests/cases/conformance/types/typeRelationships/instanceOf/narrowingConstrainedTypeVariable.ts
+++ b/tests/cases/conformance/types/typeRelationships/instanceOf/narrowingConstrainedTypeVariable.ts
@@ -24,7 +24,7 @@ function f2<T extends C, U extends D>(v: T | U) {
     }
 }
 
-class E { x: string }
+class E { x: string | undefined }
 
 function f3<T extends E>(v: T | { x: string }) {
     if (v instanceof E) {