File: logicalOrExpressionIsContextuallyTyped.errors.txt

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (16 lines) | stat: -rw-r--r-- 1,301 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
tests/cases/conformance/expressions/binaryOperators/logicalOrOperator/logicalOrExpressionIsContextuallyTyped.ts(6,33): error TS2322: Type '{ a: string; b: number; } | { a: string; b: boolean; }' is not assignable to type '{ a: string; }'.
  Type '{ a: string; b: number; }' is not assignable to type '{ a: string; }'.
    Object literal may only specify known properties, and 'b' does not exist in type '{ a: string; }'.


==== tests/cases/conformance/expressions/binaryOperators/logicalOrOperator/logicalOrExpressionIsContextuallyTyped.ts (1 errors) ====
    // The || operator permits the operands to be of any type.
    // If the || expression is contextually typed, the operands are contextually typed by the
    // same type and the result is of the best common type of the contextual type and the two
    // operand types.
    
    var r: { a: string } = { a: '', b: 123 } || { a: '', b: true };
                                    ~~~~~~
!!! error TS2322: Type '{ a: string; b: number; } | { a: string; b: boolean; }' is not assignable to type '{ a: string; }'.
!!! error TS2322:   Type '{ a: string; b: number; }' is not assignable to type '{ a: string; }'.
!!! error TS2322:     Object literal may only specify known properties, and 'b' does not exist in type '{ a: string; }'.