library test;

class A {
  int x;
  B operator +(other) => null;
}

class B extends A {
  B(ignore);
}

var a = new A();
var b = new B(x);
var c1 = [x];
var c2 = const [];
var d = <dynamic, dynamic>{'a': 'b'};
var e = new A()..x = 3;
var f = 2 + 3;
var g = -3;
var h = new A() + 3;
var i = -new A();
var j = null as B;
test1() {}
main() {}
