library;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd/issue41602.dart:12:9: Error: This expression has type 'void' and can't be used.
//   await returnVoid(); // error
//         ^
//
// pkg/front_end/testcases/nnbd/issue41602.dart:13:9: Error: This expression has type 'void' and can't be used.
//   await returnVoidAsync(); // error
//         ^
//
import self as self;
import "dart:async" as asy;

static method returnFutureOfVoid() → asy::Future<void> async /* emittedValueType= void */ {}
static method returnVoid() → void {}
static method returnVoidAsync() → void async /* emittedValueType= void */ {}
static method test() → dynamic async /* emittedValueType= dynamic */ {
  await self::returnVoid() /* runtimeCheckType= asy::Future<void> */ ;
  await self::returnVoidAsync() /* runtimeCheckType= asy::Future<void> */ ;
}
static method main() → dynamic async /* emittedValueType= dynamic */ {
  await self::returnFutureOfVoid();
}
