Check for void/noreturn in conditionals
[hiphop-php.git] / hphp / hack / test / typecheck / trait_require_param5.php
blob446ab72102222c6a22d869c44c5ee049d3b8eb2d
1 <?hh
3 // Repeated use of Tv bound to something different in each class is meant
4 // to be a stress-test of tricksy typing_decl instantiation code
6 abstract class Super<Tk, Tv> {}
8 abstract class SuperChild<Tv> extends Super<array<mixed>, Tv> {}
10 trait TReq<Tk, Tv> {
11 require extends Super<Tk, Awaitable<Tv>>;
14 class C1 extends SuperChild<Awaitable<bool>> {
15 use TReq<array<mixed>, bool>;