library test;
import self as self;

static field void x = self::f();
static method f() → void {}
static method main() → dynamic {
  self::x;
}
