library test;
import self as self;
import "dart:core" as core;

static field dynamic x = self::f<dynamic>() || self::f<dynamic>();
static field dynamic y = self::f<dynamic>() && self::f<dynamic>();
static method f<T extends core::Object* = dynamic>() → self::f::T*
  return null;
static method test() → void {
  dynamic x = self::f<dynamic>() || self::f<dynamic>();
  dynamic y = self::f<dynamic>() && self::f<dynamic>();
}
static method main() → dynamic {}
