// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

class C {
  D? f() => new D();
  void h() {}
}

class D {
  void g() {}
}

void test(C x) {
  x..f()!.g()..h();
}

main() {
  test(new C());
}