2014-07-13 01:04:16 +02:00
|
|
|
==== tests/cases/compiler/propertyParameterWithQuestionMark.ts (2 errors) ====
|
|
|
|
class C {
|
|
|
|
constructor(public x?) { }
|
|
|
|
}
|
|
|
|
|
|
|
|
// x should not be an optional property
|
|
|
|
var v: C = {}; // Should fail
|
2014-07-19 02:30:06 +02:00
|
|
|
~
|
2014-07-13 01:04:16 +02:00
|
|
|
!!! Type '{}' is not assignable to type 'C':
|
|
|
|
!!! Property 'x' is missing in type '{}'.
|
|
|
|
var v2: { x? }
|
|
|
|
v = v2; // Should fail
|
|
|
|
~
|
|
|
|
!!! Type '{ x?: any; }' is not assignable to type 'C':
|
2014-09-17 19:36:32 +02:00
|
|
|
!!! Property 'x' is optional in type '{ x?: any; }' but required in type 'C'.
|
2014-07-13 01:04:16 +02:00
|
|
|
var v3: { x } = new C; // Should succeed
|