Cat-sushi

Results 39 comments of Cat-sushi

> Note that while this proposal covers two separate feature sets, they are not necessarily tied together. My simple question is why are those two separate feature sets discussed in...

I'm sorry, my thought is not organized, but I feel we need some issue analysis. ![What are structs and extension structs_](https://user-images.githubusercontent.com/10280770/184517483-2985328e-2fba-48ff-b484-3a0074b1daab.png)

I think it can be closed with dart 2.0. Thank you. [DartPad](https://dartpad.dartlang.org/10cfd9921d22f31dbfceb69432382fd6 "DartPad")

@yjbanov So am I. DartPad some time emit no error, or executes it with same error. DartVM always throw runtime exception "Not a constant expression".

[label:field-promotion ](https://github.com/dart-lang/language/labels/field-promotion "Issues · dart-lang/language") is also related to this issue.

If fields are promoted in some case and aren't promoted in other case depending on global analysis, it is also confusing very much.

@tatumizer It is the problem that the current type system doesn't have double derived type which can't be 0, and it is not directly related to null safety.

@xvrh If my understanding is correct, in current Dart, even `late` variable have to be checked only once in every same context. On the other hand, #1187 and #1188 are...

@tatumizer I understand that It is a design decision that `x` might returns different value every time referenced. And it is not a issue of type system.

`print(x)` is valid regardless of `if(x == 5)`. `showInConsole(x)` is invalid regardless of `if (x != null)`. That is the difference.