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

class C<T extends core::num> extends core::Object {
  covariant-by-class field self::C::T a = throw "";
  synthetic constructor •() → self::C<self::C::T>
    : super core::Object::•()
    ;
  method op(core::double b) → void {
    core::double r1 = this.{self::C::a}{self::C::T}.{core::num::+}(b){(core::num) → core::double};
    core::double r2 = this.{self::C::a}{self::C::T}.{core::num::-}(b){(core::num) → core::double};
    core::double r3 = this.{self::C::a}{self::C::T}.{core::num::*}(b){(core::num) → core::double};
    core::double r4 = this.{self::C::a}{self::C::T}.{core::num::/}(b){(core::num) → core::double};
  }
}
static method main() → dynamic {}
