library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

abstract class A<T extends core::Object? = dynamic> extends core::Object {
  synthetic constructor •() → self::A<self::A::T%>
    : super core::Object::•()
    ;
  abstract method baz() → self::A::T%;
  method bar(covariant-by-class self::A::T% value) → dynamic {}
  method foo() → dynamic {
    late self::A::T% value;
    () → dynamic result = () → dynamic => this.{self::A::bar}(value){(self::A::T%) → dynamic};
    (() → Null {
      value = this.{self::A::baz}(){() → self::A::T%};
    })(){() → Null};
    return result;
  }
}
static method main() → dynamic {}
