# Copyright (c) 2017, 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.md file.

main.dart.patch: |
  <<<< []
  class A<S> {
  ==== []
  class A<S extends num> {
  >>>>
    S field;
  }

  class B<T> implements A<T> {
    T field;
  }

  main() {
    new B<int>();
  }
