mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-05 16:38:05 -06:00
Test:spread removes readonly from index signatures
This commit is contained in:
parent
db9ed00a0f
commit
7788d293c4
@ -16,4 +16,8 @@ tests/cases/conformance/types/spread/objectSpreadIndexSignature.ts(6,1): error T
|
||||
|
||||
declare const b: boolean;
|
||||
indexed3 = { ...b ? indexed3 : undefined };
|
||||
|
||||
declare var roindex: { readonly [x:string]: number };
|
||||
var writable = { ...roindex };
|
||||
writable.a = 0; // should be ok.
|
||||
|
||||
@ -11,6 +11,10 @@ ii[1001];
|
||||
|
||||
declare const b: boolean;
|
||||
indexed3 = { ...b ? indexed3 : undefined };
|
||||
|
||||
declare var roindex: { readonly [x:string]: number };
|
||||
var writable = { ...roindex };
|
||||
writable.a = 0; // should be ok.
|
||||
|
||||
|
||||
//// [objectSpreadIndexSignature.js]
|
||||
@ -30,3 +34,5 @@ var ii = __assign({}, indexed1, indexed2);
|
||||
// both have indexer, so i[1001]: number | boolean
|
||||
ii[1001];
|
||||
indexed3 = __assign({}, b ? indexed3 : undefined);
|
||||
var writable = __assign({}, roindex);
|
||||
writable.a = 0; // should be ok.
|
||||
|
||||
@ -40,3 +40,14 @@ indexed3 = { ...b ? indexed3 : undefined };
|
||||
>indexed3 : Symbol(indexed3, Decl(objectSpreadIndexSignature.ts, 2, 11))
|
||||
>undefined : Symbol(undefined)
|
||||
|
||||
declare var roindex: { readonly [x:string]: number };
|
||||
>roindex : Symbol(roindex, Decl(objectSpreadIndexSignature.ts, 13, 11))
|
||||
>x : Symbol(x, Decl(objectSpreadIndexSignature.ts, 13, 33))
|
||||
|
||||
var writable = { ...roindex };
|
||||
>writable : Symbol(writable, Decl(objectSpreadIndexSignature.ts, 14, 3))
|
||||
>roindex : Symbol(roindex, Decl(objectSpreadIndexSignature.ts, 13, 11))
|
||||
|
||||
writable.a = 0; // should be ok.
|
||||
>writable : Symbol(writable, Decl(objectSpreadIndexSignature.ts, 14, 3))
|
||||
|
||||
|
||||
@ -50,3 +50,19 @@ indexed3 = { ...b ? indexed3 : undefined };
|
||||
>indexed3 : { [n: string]: number; }
|
||||
>undefined : undefined
|
||||
|
||||
declare var roindex: { readonly [x:string]: number };
|
||||
>roindex : { readonly [x: string]: number; }
|
||||
>x : string
|
||||
|
||||
var writable = { ...roindex };
|
||||
>writable : { [x: string]: number; }
|
||||
>{ ...roindex } : { [x: string]: number; }
|
||||
>roindex : { readonly [x: string]: number; }
|
||||
|
||||
writable.a = 0; // should be ok.
|
||||
>writable.a = 0 : 0
|
||||
>writable.a : number
|
||||
>writable : { [x: string]: number; }
|
||||
>a : number
|
||||
>0 : 0
|
||||
|
||||
|
||||
@ -11,3 +11,7 @@ ii[1001];
|
||||
|
||||
declare const b: boolean;
|
||||
indexed3 = { ...b ? indexed3 : undefined };
|
||||
|
||||
declare var roindex: { readonly [x:string]: number };
|
||||
var writable = { ...roindex };
|
||||
writable.a = 0; // should be ok.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user