fdc765faad
TEST=existing Change-Id: I0a8fdf09f742b55357411f12dc6164d4050bb83c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/196283 Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
57 lines
2.5 KiB
Plaintext
57 lines
2.5 KiB
Plaintext
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 {}
|