Created
June 20, 2024 22:21
-
-
Save kallentu/f996adb3e4a9f5bc93e418a521d93460 to your computer and use it in GitHub Desktop.
cfe failure on wildcard class type parameters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/==================================================================================================================\ | |
| pkg/front_end/test/fasta/strong/wildcard_variables/class_type_parameters is new and failed (Fail, expected Pass) | | |
\==================================================================================================================/ | |
library; | |
import self as self; | |
import "dart:core" as core; | |
typedef _ = self::BB; | |
class AA extends core::Object { | |
synthetic constructor •() → self::AA | |
: super core::Object::•() | |
; | |
} | |
class BB extends self::AA { | |
synthetic constructor •() → self::BB | |
: super self::AA::•() | |
; | |
} | |
class A<T extends core::Object? = dynamic, U extends self::AA> extends core::Object { | |
synthetic constructor •() → self::A<self::A::T%, self::A::U> | |
: super core::Object::•() | |
; | |
} | |
class B<_ extends core::Object? = dynamic, _ extends self::AA> extends self::A<self::BB, self::BB> { | |
synthetic constructor •() → self::B<self::B::_%, self::B::_> | |
: super self::A::•() | |
; | |
method foo<_ extends self::BB>([wildcard core::int _ = #C1]) → core::int | |
return 1; | |
} | |
class C<T extends core::Object? = dynamic, _ extends self::BB> extends self::A<self::C::T%, self::BB> { | |
static const field core::int _ = #C2; | |
synthetic constructor •() → self::C<self::C::T%, self::C::_> | |
: super self::A::•() | |
; | |
} | |
class D<_ extends core::Object? = dynamic, _ extends core::Object? = dynamic> extends core::Object { | |
synthetic constructor •() → self::D<self::D::_%, self::D::_%> | |
: super core::Object::•() | |
; | |
} | |
class DoesNotUseTypeVariable<_ extends core::Object? = dynamic> extends core::Object { | |
synthetic constructor •() → self::DoesNotUseTypeVariable<self::DoesNotUseTypeVariable::_%> | |
: super core::Object::•() | |
; | |
method returnsBB() → core::Type { | |
return #C3; | |
} | |
} | |
constants { | |
#C1 = 2 | |
#C2 = 1 | |
#C3 = TypeLiteralConstant(self::BB) | |
} | |
Wrote component to memory. | |
Compiled and got 1 libs | |
-> invalidating file:///b/s/w/ir/pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart | |
-> and got 1 libs | |
Work on file:///b/s/w/ir/pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart | |
Work on file:///b/s/w/ir/pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart | |
Found 8 chunks... | |
=> Split into file:///b/s/w/ir/pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart.split.0.dart: | |
import 'class_type_parameters.dart'; | |
typedef _ = BB; | |
------------- | |
=> Split into file:///b/s/w/ir/pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart.split.1.dart: | |
import 'class_type_parameters.dart'; | |
class AA {} | |
------------- | |
=> Split into file:///b/s/w/ir/pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart.split.2.dart: | |
import 'class_type_parameters.dart'; | |
class BB extends AA {} | |
------------- | |
=> Split into file:///b/s/w/ir/pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart.split.3.dart: | |
import 'class_type_parameters.dart'; | |
class A<T, U extends AA> {} | |
------------- | |
=> Split into file:///b/s/w/ir/pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart.split.4.dart: | |
import 'class_type_parameters.dart'; | |
class B<_, _ extends AA> extends A<_, _> { | |
int foo<_ extends _>([int _ = 2]) => 1; | |
} | |
------------- | |
=> Split into file:///b/s/w/ir/pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart.split.5.dart: | |
import 'class_type_parameters.dart'; | |
class C<T, _ extends _> extends A<T, _> { | |
static const int _ = 1; | |
} | |
------------- | |
=> Split into file:///b/s/w/ir/pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart.split.6.dart: | |
import 'class_type_parameters.dart'; | |
class D<_, _> {} | |
------------- | |
=> Split into file:///b/s/w/ir/pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart.split.7.dart: | |
import 'class_type_parameters.dart'; | |
class DoesNotUseTypeVariable<_> { | |
Type returnsBB() { | |
return _; | |
} | |
} | |
------------- | |
=> Main file becomes: | |
import 'class_type_parameters.dart.split.0.dart'; | |
export 'class_type_parameters.dart.split.0.dart'; | |
import 'class_type_parameters.dart.split.1.dart'; | |
export 'class_type_parameters.dart.split.1.dart'; | |
import 'class_type_parameters.dart.split.2.dart'; | |
export 'class_type_parameters.dart.split.2.dart'; | |
import 'class_type_parameters.dart.split.3.dart'; | |
export 'class_type_parameters.dart.split.3.dart'; | |
import 'class_type_parameters.dart.split.4.dart'; | |
export 'class_type_parameters.dart.split.4.dart'; | |
import 'class_type_parameters.dart.split.5.dart'; | |
export 'class_type_parameters.dart.split.5.dart'; | |
import 'class_type_parameters.dart.split.6.dart'; | |
export 'class_type_parameters.dart.split.6.dart'; | |
import 'class_type_parameters.dart.split.7.dart'; | |
export 'class_type_parameters.dart.split.7.dart'; | |
------------- | |
Compiled and got 9 libs | |
Errors upon compilation not compatible with forcing rebuild bodies. Got [(pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart.split.4.dart:3:36: Error: Type '_' not found. | |
class B<_, _ extends AA> extends A<_, _> { | |
^), (pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart.split.4.dart:3:39: Error: Type '_' not found. | |
class B<_, _ extends AA> extends A<_, _> { | |
^), (pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart.split.4.dart:4:21: Error: Type '_' not found. | |
int foo<_ extends _>([int _ = 2]) => 1; | |
^), (pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart.split.5.dart:3:22: Error: Type '_' not found. | |
class C<T, _ extends _> extends A<T, _> { | |
^), (pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart.split.5.dart:3:38: Error: Type '_' not found. | |
class C<T, _ extends _> extends A<T, _> { | |
^), (pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart.split.7.dart:5:12: Error: The getter '_' isn't defined for the class 'DoesNotUseTypeVariable<_>'. | |
- 'DoesNotUseTypeVariable' is from 'pkg/front_end/testcases/wildcard_variables/class_type_parameters.dart.split.7.dart'. | |
Try correcting the name to the name of an existing getter, or defining a getter or field named '_'. | |
return _; | |
^)] | |
To re-run this test, run: | |
dart --enable-asserts pkg/front_end/test/unit_test_suites.dart -p pkg/front_end/test/fasta/strong/wildcard_variables/class_type_parameters | |
The test has outcome semiFuzzFailureOnForceRebuildBodies, but was expected to have outcome(s) {Pass}. You might have to update the status file to the new outcome | |
There's a status entry looking something like | |
wildcard_variables/class_type_parameters: Pass | |
which should be updated. | |
The status file is file:///b/s/w/ir/pkg/front_end/testcases/strong.status. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment