tests/cases/compiler/typeParameterDiamond4.ts(8,13): error TS2322: Type 'Top | T | U' is not assignable to type 'Top'. Type 'T' is not assignable to type 'Top'. tests/cases/compiler/typeParameterDiamond4.ts(10,13): error TS2322: Type 'Bottom' is not assignable to type 'Top'. Type 'Top | T | U' is not assignable to type 'Top'. Type 'T' is not assignable to type 'Top'. ==== tests/cases/compiler/typeParameterDiamond4.ts (2 errors) ==== function diamondTop() { function diamondMiddle() { function diamondBottom() { var top: Top; var middle: Top | T | U; var bottom: Bottom; top = middle; ~~~ !!! error TS2322: Type 'Top | T | U' is not assignable to type 'Top'. !!! error TS2322: Type 'T' is not assignable to type 'Top'. middle = bottom; top = bottom; ~~~ !!! error TS2322: Type 'Bottom' is not assignable to type 'Top'. !!! error TS2322: Type 'Top | T | U' is not assignable to type 'Top'. !!! error TS2322: Type 'T' is not assignable to type 'Top'. } } }