class Main { static function main() { trace(Abs.use(fn)(101)); } inline static function fn(v:Int):Int return v; } @:callable abstract Abs(T->Int) from T->Int { inline public static function use(fn:T->Int):Abs { return fn; } }