Skip to content

Commit c93bde6

Browse files
author
Arthur Ozga
committed
added tests
1 parent 1efff28 commit c93bde6

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
abstract class A<T> {
2+
t: T;
3+
4+
abstract foo(): T;
5+
abstract bar(t: T);
6+
}
7+
8+
abstract class B<T> extends A<T> {}
9+
10+
class C<T> extends A<T> {} // error -- inherits abstract methods
11+
12+
class D extends A<number> {} // error -- inherits abstract methods
13+
14+
class E<T> extends A<T> { // error -- doesn't implement bar
15+
foo() { return this.t; }
16+
}
17+
18+
class F<T> extends A<T> { // error -- doesn't implement foo
19+
bar(t : T) {}
20+
}
21+
22+
class G<T> extends A<T> {
23+
foo() { return this.t; }
24+
bar(t: T) { }
25+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
abstract class CM {}
2+
module CM {}
3+
4+
module MC {}
5+
abstract class MC {}
6+
7+
abstract class CI {}
8+
interface CI {}
9+
10+
interface IC {}
11+
abstract class IC {}
12+
13+
abstract class CC1 {}
14+
class CC1 {}
15+
16+
class CC2 {}
17+
abstract class CC2 {}
18+
19+
new CM;
20+
new MC;
21+
new CI;
22+
new IC;
23+
new CC1;
24+
new CC2;

0 commit comments

Comments
 (0)