| library test; |
| import self as self; |
| import "dart:core" as core; |
| |
| static field dynamic x = self::run<dynamic>(#C1); |
| static method run<T extends core::Object* = dynamic>(() →* self::run::T* f) → self::run::T* { |
| core::print("running"); |
| self::run::T* t = f(){() →* self::run::T*}; |
| core::print("done running"); |
| return t; |
| } |
| static method printRunning() → void { |
| core::print("running"); |
| } |
| static method main() → dynamic { |
| function printRunning() → void { |
| core::print("running"); |
| } |
| dynamic x = self::run<dynamic>(printRunning); |
| void y = self::run<void>(printRunning); |
| x = 123; |
| x = "hi"; |
| y = 123; |
| y = "hi"; |
| } |
| |
| constants { |
| #C1 = tearoff self::printRunning |
| } |