@@ -3526,168 +3526,6 @@ class C<E> {
3526
3526
''' );
3527
3527
}
3528
3528
3529
- test_notInstantiatedBound_class_error_recursion () async {
3530
- await assertErrorsInCode (r'''
3531
- class A<T extends B> {} // points to a
3532
- class B<T extends A> {} // points to b
3533
- class C<T extends A> {} // points to a cyclical type
3534
- ''' , [
3535
- error (StrongModeCode .NOT_INSTANTIATED_BOUND , 18 , 1 ),
3536
- error (StrongModeCode .NOT_INSTANTIATED_BOUND , 57 , 1 ),
3537
- error (StrongModeCode .NOT_INSTANTIATED_BOUND , 96 , 1 ),
3538
- ]);
3539
- }
3540
-
3541
- test_notInstantiatedBound_class_error_recursion_less_direct () async {
3542
- await assertErrorsInCode (r'''
3543
- class A<T extends B<A>> {}
3544
- class B<T extends A<B>> {}
3545
- ''' , [
3546
- error (StrongModeCode .NOT_INSTANTIATED_BOUND , 20 , 1 ),
3547
- error (StrongModeCode .NOT_INSTANTIATED_BOUND , 47 , 1 ),
3548
- ]);
3549
- }
3550
-
3551
- test_notInstantiatedBound_class_error_recursion_typedef () async {
3552
- await assertErrorsInCode (r'''
3553
- typedef F(C value);
3554
- class C<T extends F> {}
3555
- class D<T extends C> {}
3556
- ''' , [
3557
- error (CompileTimeErrorCode .TYPE_ALIAS_CANNOT_REFERENCE_ITSELF , 0 , 19 ),
3558
- error (StrongModeCode .NOT_INSTANTIATED_BOUND , 38 , 1 ),
3559
- error (StrongModeCode .NOT_INSTANTIATED_BOUND , 62 , 1 ),
3560
- ]);
3561
- }
3562
-
3563
- test_notInstantiatedBound_error_class_argument () async {
3564
- await assertErrorsInCode (r'''
3565
- class A<K, V extends List<K>> {}
3566
- class C<T extends A> {}
3567
- ''' , [
3568
- error (StrongModeCode .NOT_INSTANTIATED_BOUND , 51 , 1 ),
3569
- ]);
3570
- }
3571
-
3572
- test_notInstantiatedBound_error_class_argument2 () async {
3573
- await assertErrorsInCode (r'''
3574
- class A<K, V extends List<List<K>>> {}
3575
- class C<T extends A> {}
3576
- ''' , [
3577
- error (StrongModeCode .NOT_INSTANTIATED_BOUND , 57 , 1 ),
3578
- ]);
3579
- }
3580
-
3581
- test_notInstantiatedBound_error_class_direct () async {
3582
- await assertErrorsInCode (r'''
3583
- class A<K, V extends K> {}
3584
- class C<T extends A> {}
3585
- ''' , [
3586
- error (StrongModeCode .NOT_INSTANTIATED_BOUND , 45 , 1 ),
3587
- ]);
3588
- }
3589
-
3590
- test_notInstantiatedBound_error_class_indirect () async {
3591
- await assertErrorsInCode (r'''
3592
- class A<K, V extends K> {}
3593
- class C<T extends List<A>> {}
3594
- ''' , [
3595
- error (StrongModeCode .NOT_INSTANTIATED_BOUND , 50 , 1 ),
3596
- ]);
3597
- }
3598
-
3599
- test_notInstantiatedBound_error_functionType () async {
3600
- await assertErrorsInCode (r'''
3601
- class A<T extends Function(T)> {}
3602
- class B<T extends T Function()> {}
3603
- class C<T extends A> {}
3604
- class D<T extends B> {}
3605
- ''' , [
3606
- error (StrongModeCode .NOT_INSTANTIATED_BOUND , 87 , 1 ),
3607
- error (StrongModeCode .NOT_INSTANTIATED_BOUND , 111 , 1 ),
3608
- ]);
3609
- }
3610
-
3611
- test_notInstantiatedBound_error_typedef_argument () async {
3612
- await assertErrorsInCode (r'''
3613
- class A<K, V extends List<K>> {}
3614
- typedef void F<T extends A>();
3615
- ''' , [
3616
- error (StrongModeCode .NOT_INSTANTIATED_BOUND , 58 , 1 ),
3617
- ]);
3618
- }
3619
-
3620
- test_notInstantiatedBound_error_typedef_argument2 () async {
3621
- await assertErrorsInCode (r'''
3622
- class A<K, V extends List<List<K>>> {}
3623
- typedef void F<T extends A>();
3624
- ''' , [
3625
- error (StrongModeCode .NOT_INSTANTIATED_BOUND , 64 , 1 ),
3626
- ]);
3627
- }
3628
-
3629
- test_notInstantiatedBound_error_typedef_direct () async {
3630
- await assertErrorsInCode (r'''
3631
- class A<K, V extends K> {}
3632
- typedef void F<T extends A>();
3633
- ''' , [
3634
- error (StrongModeCode .NOT_INSTANTIATED_BOUND , 52 , 1 ),
3635
- ]);
3636
- }
3637
-
3638
- test_notInstantiatedBound_ok_class () async {
3639
- await assertNoErrorsInCode (r'''
3640
- class A<T extends int> {}
3641
- class C1<T extends A> {}
3642
- class C2<T extends List<A>> {}
3643
- ''' );
3644
- }
3645
-
3646
- test_notInstantiatedBound_ok_class_class2 () async {
3647
- await assertNoErrorsInCode (r'''
3648
- class A<T> {}
3649
- class C<T extends A<int>> {}
3650
- class D<T extends C> {}
3651
- ''' );
3652
- }
3653
-
3654
- test_notInstantiatedBound_ok_class_class3 () async {
3655
- await assertNoErrorsInCode (r'''
3656
- class A<T> {}
3657
- class B<T extends int> {}
3658
- class C<T extends A<B>> {}
3659
- ''' );
3660
- }
3661
-
3662
- test_notInstantiatedBound_ok_class_class4 () async {
3663
- await assertNoErrorsInCode (r'''
3664
- class A<K, V> {}
3665
- class B<T extends int> {}
3666
- class C<T extends A<B, B>> {}
3667
- ''' );
3668
- }
3669
-
3670
- test_notInstantiatedBound_ok_class_function () async {
3671
- await assertNoErrorsInCode (r'''
3672
- class A<T extends void Function()> {}
3673
- class B<T extends A> {}
3674
- ''' );
3675
- }
3676
-
3677
- test_notInstantiatedBound_ok_class_typedef () async {
3678
- await assertNoErrorsInCode (r'''
3679
- typedef void F<T extends int>();
3680
- class C<T extends F> {}
3681
- ''' );
3682
- }
3683
-
3684
- test_notInstantiatedBound_ok_typedef_class () async {
3685
- await assertNoErrorsInCode (r'''
3686
- class C<T extends int> {}
3687
- typedef void F<T extends C>();
3688
- ''' );
3689
- }
3690
-
3691
3529
test_objectMethodOnFunctions_Anonymous () async {
3692
3530
await _objectMethodOnFunctions_helper2 (r'''
3693
3531
void main() {
0 commit comments