blob: 137c89ecc8b7388221ceb44195d414b6c463da50 [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>();
}