blob: fa6936b5332c5ebe20c730d02f0ada066ff62c91 [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/function_invocation_bounds.dart:9:8: Error: Inferred type argument 'String' doesn't conform to the bound 'num' of the type variable 'T' on 'local'.
// Try specifying type arguments explicitly so that they conform to the bounds.
// local("");
// ^
//
// pkg/front_end/testcases/general/function_invocation_bounds.dart:10:8: Error: Type argument 'String' doesn't conform to the bound 'num' of the type variable 'T' on 'local'.
// Try changing type arguments so that they conform to the bounds.
// local<String>(throw '');
// ^
//
// pkg/front_end/testcases/general/function_invocation_bounds.dart:13:8: Error: Expected 1 type arguments.
// local<int, String>(throw '');
// ^
//
// pkg/front_end/testcases/general/function_invocation_bounds.dart:15:4: Error: Inferred type argument 'String' doesn't conform to the bound 'num' of the type variable 'T' on 'call'.
// Try specifying type arguments explicitly so that they conform to the bounds.
// f("");
// ^
//
// pkg/front_end/testcases/general/function_invocation_bounds.dart:16:4: Error: Type argument 'String' doesn't conform to the bound 'num' of the type variable 'T' on 'call'.
// Try changing type arguments so that they conform to the bounds.
// f<String>(throw '');
// ^
//
// pkg/front_end/testcases/general/function_invocation_bounds.dart:19:4: Error: Expected 1 type arguments.
// f<int, String>(throw '');
// ^
//
import self as self;
import "dart:core" as core;
typedef G<invariant T extends core::Object? = dynamic> = (T%) T%;
static method test() dynamic {
function local<T extends core::num>(T t) T
return t;
local.call<core::String>("");
local.call<core::String>(throw "");
local.call<core::int>(0);
local.call<core::int>(throw "");
let final Never #t1 = invalid-expression "pkg/front_end/testcases/general/function_invocation_bounds.dart:13:8: Error: Expected 1 type arguments.
local<int, String>(throw '');
^" in local.call<core::int, core::String>(throw "");
<T extends core::num>(T) → T f = local;
f.call<core::String>("");
f.call<core::String>(throw "");
f.call<core::int>(0);
f.call<core::int>(throw "");
let final Never #t2 = invalid-expression "pkg/front_end/testcases/general/function_invocation_bounds.dart:19:4: Error: Expected 1 type arguments.
f<int, String>(throw '');
^" in f.call<core::int, core::String>(throw "");
}
static method main() → dynamic {}