You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Sep 16, 2022. It is now read-only.
This one has a bit of a story! Basically what I have observed is that having a bit of specially prepared dead code influences the compilation/optimization process of dart2js in such a way that it makes things work. I expect my code to work without the dead code but it doesn't. Without further ado, repro code here
Repro steps:
grab a stagehand angular starter project
throw in the test and the build.yaml file from gist
pub run build_runner test -r -- -p chrome
-r command line argument is important. DDC works fine.
There are a number of things that must be present in order for this to happen:
Component should use AsyncPipe on a special Stream
The implementation of that Stream must be "mockito-like" - overriding noSuchMethod
dart2js compiler must have -O1 or above optimization level
Until this point, component test fails, though I think it should pass. To fix it, there are 2 approaches:
add a bit of dead code like in the gist
use -O0 optimization level for dart2js
My expectation:
Both reachable tests pass without dead code
What happens:
Without dead code, the component test fails, though it shouldn't
Env
Dart SDK version: 2.10.4 (stable) (Wed Nov 11 13:35:58 2020 +0100) on "linux_x64"
Angular 5.3, 6
Uhm, so I'm wondering, is it an angular_test bug or did I stumble onto something compiler related? (There is a 3rd option: I'm a idiot and I'm missing something)
The text was updated successfully, but these errors were encountered:
This one has a bit of a story! Basically what I have observed is that having a bit of specially prepared dead code influences the compilation/optimization process of dart2js in such a way that it makes things work. I expect my code to work without the dead code but it doesn't. Without further ado, repro code here
Repro steps:
pub run build_runner test -r -- -p chrome
-r
command line argument is important. DDC works fine.There are a number of things that must be present in order for this to happen:
AsyncPipe
on a special StreamnoSuchMethod
dart2js
compiler must have-O1
or above optimization levelUntil this point, component test fails, though I think it should pass. To fix it, there are 2 approaches:
-O0
optimization level fordart2js
My expectation:
Both reachable tests pass without dead code
What happens:
Without dead code, the component test fails, though it shouldn't
Env
Dart SDK version: 2.10.4 (stable) (Wed Nov 11 13:35:58 2020 +0100) on "linux_x64"
Uhm, so I'm wondering, is it an
angular_test
bug or did I stumble onto something compiler related? (There is a 3rd option: I'm a idiot and I'm missing something)The text was updated successfully, but these errors were encountered: