blob: 25211b030f0b0a308b030308dde74d37d5f7406c [file] [log] [blame]
// Copyright (c) 2018, 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.
/// @description Regression test for the Issue 34741: Analyzer doesn't allow
/// function to use type parameter [<Instance of 'TypeParameterMember'>] as a
/// type argument whereas dart does allow this.
/// @Issue 34741
/// @author iarkh@unipro.ru
Type typeOf<X>() => X;
typedef G = Function<X extends num>();
typedef G1<X> = Function();
main() {
typeOf<G>();
//^
// [cfe] A generic function type can't be used as a type argument.
// ^
// [analyzer] COMPILE_TIME_ERROR.GENERIC_FUNCTION_TYPE_CANNOT_BE_TYPE_ARGUMENT
typeOf<G1>();
}