blob: 306d83ddf6d9863f66067ece1969bbce12705d29 [file] [log] [blame]
// Copyright (c) 2016, 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.
import 'package:expect/expect.dart';
class Implementation {
dynamic method(int x) {}
}
abstract class Interface<T> {
dynamic method(T x);
}
class Subclass extends Implementation implements Interface<int> {}
typedef dynamic TakeNum(num x);
main() {
Subclass subclass = new Subclass();
Interface<int> intInterface = subclass;
Interface<num> numInterface = intInterface;
TakeNum f = numInterface.method;
Expect.throws(() => f(2.5));
dynamic f2 = f;
Expect.throws(() => f2(2.5));
}