Skip to content

Commit 19ee726

Browse files
committed
[cfe] Add regression test for issue 42433
Closes #42433 Change-Id: I15360c20616f342d139e46b7bf2bcd52b98333db Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155321 Reviewed-by: Dmitry Stefantsov <[email protected]>
1 parent 31d4511 commit 19ee726

9 files changed

+109
-0
lines changed

pkg/front_end/test/spell_checking_list_tests.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ cc
8484
ccc
8585
charcode
8686
charset
87+
checkme
8788
checkout
8889
cipd
8990
circular
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
2+
// for details. All rights reserved. Use of this source code is governed by a
3+
// BSD-style license that can be found in the LICENSE file.
4+
5+
class X {}
6+
7+
checkme<T extends X>(T? t) {}
8+
typedef Test<T extends X>(T? t);
9+
10+
main() {
11+
Test<X> t2 = checkme;
12+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
library /*isNonNullableByDefault*/;
2+
import self as self;
3+
import "dart:core" as core;
4+
5+
typedef Test<contravariant T extends self::X = self::X> = (T?) → dynamic;
6+
class X extends core::Object {
7+
synthetic constructor •() → self::X
8+
;
9+
}
10+
static method checkme<T extends self::X = self::X>(self::checkme::T? t) → dynamic
11+
;
12+
static method main() → dynamic
13+
;
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
library /*isNonNullableByDefault*/;
2+
import self as self;
3+
import "dart:core" as core;
4+
5+
typedef Test<contravariant T extends self::X = self::X> = (T?) → dynamic;
6+
class X extends core::Object {
7+
synthetic constructor •() → self::X
8+
: super core::Object::•()
9+
;
10+
}
11+
static method checkme<T extends self::X = self::X>(self::checkme::T? t) → dynamic {}
12+
static method main() → dynamic {
13+
(self::X?) → dynamic t2 = #C1<self::X>;
14+
}
15+
16+
constants {
17+
#C1 = tearoff self::checkme
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
library /*isNonNullableByDefault*/;
2+
import self as self;
3+
import "dart:core" as core;
4+
5+
typedef Test<contravariant T extends self::X = self::X> = (T?) → dynamic;
6+
class X extends core::Object {
7+
synthetic constructor •() → self::X
8+
: super core::Object::•()
9+
;
10+
}
11+
static method checkme<T extends self::X = self::X>(self::checkme::T? t) → dynamic {}
12+
static method main() → dynamic {
13+
(self::X?) → dynamic t2 = #C1<self::X>;
14+
}
15+
16+
constants {
17+
#C1 = tearoff self::checkme
18+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
class X {}
2+
3+
checkme<T extends X>(T? t) {}
4+
typedef Test<T extends X>(T? t);
5+
main() {}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
checkme<T extends X>(T? t) {}
2+
3+
class X {}
4+
5+
main() {}
6+
typedef Test<T extends X>(T? t);
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
library /*isNonNullableByDefault*/;
2+
import self as self;
3+
import "dart:core" as core;
4+
5+
typedef Test<contravariant T extends self::X = self::X> = (T?) → dynamic;
6+
class X extends core::Object {
7+
synthetic constructor •() → self::X
8+
: super core::Object::•()
9+
;
10+
}
11+
static method checkme<T extends self::X = self::X>(self::checkme::T? t) → dynamic {}
12+
static method main() → dynamic {
13+
(self::X?) → dynamic t2 = #C1<self::X>;
14+
}
15+
16+
constants {
17+
#C1 = tearoff self::checkme
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
library /*isNonNullableByDefault*/;
2+
import self as self;
3+
import "dart:core" as core;
4+
5+
typedef Test<contravariant T extends self::X = self::X> = (T?) → dynamic;
6+
class X extends core::Object {
7+
synthetic constructor •() → self::X
8+
: super core::Object::•()
9+
;
10+
}
11+
static method checkme<T extends self::X = self::X>(self::checkme::T? t) → dynamic {}
12+
static method main() → dynamic {
13+
(self::X?) → dynamic t2 = #C1<self::X>;
14+
}
15+
16+
constants {
17+
#C1 = tearoff self::checkme
18+
}

0 commit comments

Comments
 (0)