Add tests

This commit is contained in:
Anders Hejlsberg
2017-07-24 17:06:45 -07:00
parent 47e6aef858
commit f6ed29df3a

View File

@@ -69,14 +69,16 @@ function f23<T, U extends T, K extends keyof T>(x: T, y: Readonly<U>, k: K) {
y[k] = x[k]; // Error
}
type Thing = { a: string, b: string };
function f30<T>(x: T, y: Partial<T>) {
x = y; // Error
y = x;
}
function f31<T>(x: T, y: Partial<T>) {
x = y; // Error
y = x;
function f31<T extends Thing>(x: Partial<Thing>, y: Partial<T>) {
x = y;
y = x; // Error
}
function f40<T>(x: T, y: Readonly<T>) {
@@ -84,9 +86,9 @@ function f40<T>(x: T, y: Readonly<T>) {
y = x;
}
function f41<T>(x: T, y: Readonly<T>) {
function f41<T extends Thing>(x: Readonly<Thing>, y: Readonly<T>) {
x = y;
y = x;
y = x; // Error
}
type Item = {