-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Some of the inline elision tests fail. ``` test no_elision_without_output ... FAILED test no_elision_without_input ... FAILED test basic_elision_mut ... ok test basic_elision ... ok test connection_precision_self ... ok test unelision ... ok test connection_precision_args ... ok ``` Even more mysterious: If I disable elision (not pass the `--inline-elision` argument), only three of them fail. ``` test no_elision_without_input ... FAILED test unelision ... ok test connection_precision_self ... FAILED test no_elision_without_output ... FAILED test connection_precision_args ... ok test basic_elision ... ok test basic_elision_mut ... ok ``` Maybe this is mean to happen, but need to investigate. Already found one niche (but very dumb) error in the algebra. --- So here is what happened. 1. My merge broke things a bit and the flag `--inline-elision` was no longer being heeded. Inline elision would simply always be performed. Worse still it would also forget to check if the function carries a marker in the inliner. This might not actually have manifested negatively but it feels dangerous at least. 2. The tests were actually wrong. Whether or not inline elision happens, the (elided) function is gone from the graph whether its body is inlined *or* elided. However the test cases were checking for exactly that, whether the function occurs in the graph. I changed them to just call `std::convert::identity` (an external function and therefore neither inlined, nor elided) inside and then check if *that* function is in the graph. Now the test cases predictably succeed when `--inline-elision` is active and fail if not.
- Loading branch information
1 parent
10cf23c
commit 31b5991
Showing
5 changed files
with
37 additions
and
31 deletions.
There are no files selected for viewing
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
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
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
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
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