From 5e82f234ec28ebb87d467f2df1e6f8d93c5c0ef3 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 23 Oct 2015 15:45:45 -0700 Subject: [PATCH] Add test of issue --- .../reference/typeParameterEquality.js | 11 ++++++++++ .../reference/typeParameterEquality.symbols | 19 ++++++++++++++++++ .../reference/typeParameterEquality.types | 20 +++++++++++++++++++ tests/cases/compiler/typeParameterEquality.ts | 5 +++++ 4 files changed, 55 insertions(+) create mode 100644 tests/baselines/reference/typeParameterEquality.js create mode 100644 tests/baselines/reference/typeParameterEquality.symbols create mode 100644 tests/baselines/reference/typeParameterEquality.types create mode 100644 tests/cases/compiler/typeParameterEquality.ts diff --git a/tests/baselines/reference/typeParameterEquality.js b/tests/baselines/reference/typeParameterEquality.js new file mode 100644 index 00000000000..b77e534b354 --- /dev/null +++ b/tests/baselines/reference/typeParameterEquality.js @@ -0,0 +1,11 @@ +//// [typeParameterEquality.ts] +class C { + get x(): (a: T) => T { return null; } + set x(p: (a: U) => U) {} +} + +//// [typeParameterEquality.js] +class C { + get x() { return null; } + set x(p) { } +} diff --git a/tests/baselines/reference/typeParameterEquality.symbols b/tests/baselines/reference/typeParameterEquality.symbols new file mode 100644 index 00000000000..562d6277d93 --- /dev/null +++ b/tests/baselines/reference/typeParameterEquality.symbols @@ -0,0 +1,19 @@ +=== tests/cases/compiler/typeParameterEquality.ts === +class C { +>C : Symbol(C, Decl(typeParameterEquality.ts, 0, 0)) + + get x(): (a: T) => T { return null; } +>x : Symbol(x, Decl(typeParameterEquality.ts, 0, 9), Decl(typeParameterEquality.ts, 1, 44)) +>T : Symbol(T, Decl(typeParameterEquality.ts, 1, 14)) +>a : Symbol(a, Decl(typeParameterEquality.ts, 1, 17)) +>T : Symbol(T, Decl(typeParameterEquality.ts, 1, 14)) +>T : Symbol(T, Decl(typeParameterEquality.ts, 1, 14)) + + set x(p: (a: U) => U) {} +>x : Symbol(x, Decl(typeParameterEquality.ts, 0, 9), Decl(typeParameterEquality.ts, 1, 44)) +>p : Symbol(p, Decl(typeParameterEquality.ts, 2, 10)) +>U : Symbol(U, Decl(typeParameterEquality.ts, 2, 14)) +>a : Symbol(a, Decl(typeParameterEquality.ts, 2, 17)) +>U : Symbol(U, Decl(typeParameterEquality.ts, 2, 14)) +>U : Symbol(U, Decl(typeParameterEquality.ts, 2, 14)) +} diff --git a/tests/baselines/reference/typeParameterEquality.types b/tests/baselines/reference/typeParameterEquality.types new file mode 100644 index 00000000000..2e51c3a51e6 --- /dev/null +++ b/tests/baselines/reference/typeParameterEquality.types @@ -0,0 +1,20 @@ +=== tests/cases/compiler/typeParameterEquality.ts === +class C { +>C : C + + get x(): (a: T) => T { return null; } +>x : (a: T) => T +>T : T +>a : T +>T : T +>T : T +>null : null + + set x(p: (a: U) => U) {} +>x : (a: T) => T +>p : (a: U) => U +>U : U +>a : U +>U : U +>U : U +} diff --git a/tests/cases/compiler/typeParameterEquality.ts b/tests/cases/compiler/typeParameterEquality.ts new file mode 100644 index 00000000000..aa136aa3655 --- /dev/null +++ b/tests/cases/compiler/typeParameterEquality.ts @@ -0,0 +1,5 @@ +// @target: es6 +class C { + get x(): (a: T) => T { return null; } + set x(p: (a: U) => U) {} +} \ No newline at end of file