@@ -18,6 +18,11 @@ class A {
18
18
late int ? fieldWithNullInit = null ;
19
19
late int fieldWithNoInit;
20
20
late int ? nullableFieldWithNoInit;
21
+ late int ? fieldWithOnlyCtorInit;
22
+ late int ? fieldWithOnlyBothInitAndCtorInit = 123 ;
23
+ A ()
24
+ : fieldWithOnlyCtorInit = null ,
25
+ fieldWithOnlyBothInitAndCtorInit = null ;
21
26
}
22
27
23
28
main () {
@@ -32,6 +37,8 @@ main() {
32
37
() => a.fieldWithNoInit, (error) => error is LateInitializationError );
33
38
Expect .throws (() => a.nullableFieldWithNoInit,
34
39
(error) => error is LateInitializationError );
40
+ Expect .equals (null , a.fieldWithOnlyCtorInit);
41
+ Expect .equals (null , a.fieldWithOnlyBothInitAndCtorInit);
35
42
Expect .equals (1 , initCalls);
36
43
Expect .equals (123 , a.fieldWithInit);
37
44
Expect .equals (123 , a.fieldWithTrivialInit);
@@ -40,18 +47,24 @@ main() {
40
47
() => a.fieldWithNoInit, (error) => error is LateInitializationError );
41
48
Expect .throws (() => a.nullableFieldWithNoInit,
42
49
(error) => error is LateInitializationError );
50
+ Expect .equals (null , a.fieldWithOnlyCtorInit);
51
+ Expect .equals (null , a.fieldWithOnlyBothInitAndCtorInit);
43
52
Expect .equals (1 , initCalls);
44
53
a.fieldWithInit = 456 ;
45
54
a.fieldWithTrivialInit = 456 ;
46
55
a.fieldWithNullInit = 456 ;
47
56
a.fieldWithNoInit = 456 ;
48
57
a.nullableFieldWithNoInit = null ;
58
+ a.fieldWithOnlyCtorInit = 456 ;
59
+ a.fieldWithOnlyBothInitAndCtorInit = 456 ;
49
60
Expect .equals (1 , initCalls);
50
61
Expect .equals (456 , a.fieldWithInit);
51
62
Expect .equals (456 , a.fieldWithTrivialInit);
52
63
Expect .equals (456 , a.fieldWithNullInit);
53
64
Expect .equals (456 , a.fieldWithNoInit);
54
65
Expect .equals (null , a.nullableFieldWithNoInit);
66
+ Expect .equals (456 , a.fieldWithOnlyCtorInit);
67
+ Expect .equals (456 , a.fieldWithOnlyBothInitAndCtorInit);
55
68
Expect .equals (1 , initCalls);
56
69
initCalls = 0 ;
57
70
0 commit comments