| // Errors: |
| // |
| // pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart:27:73: Error: This expression has type 'void' and can't be used. |
| // var /*@type=void*/ y = /*info:USE_OF_VOID_RESULT*/ /*@typeArgs=void*/ run( |
| // ^ |
| |
| library test; |
| import self as self; |
| import "dart:core" as core; |
| |
| static field dynamic x = self::run<dynamic>(self::printRunning); |
| static method run<T extends core::Object = dynamic>(() → self::run::T f) → self::run::T { |
| core::print("running"); |
| self::run::T t = f.call(); |
| 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 = let dynamic _ = null in let final dynamic #t1 = let dynamic _ = null in invalid-expression "pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart:27:73: Error: This expression has type 'void' and can't be used. |
| var /*@type=void*/ y = /*info:USE_OF_VOID_RESULT*/ /*@typeArgs=void*/ run( |
| ^" in let final dynamic #t2 = self::run<void>(printRunning) in null; |
| x = 123; |
| x = "hi"; |
| y = 123; |
| y = "hi"; |
| } |