-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use missing
instead of nothing
for dynamic values
#232
Conversation
For some reason all tests are failing but at different places for different Julia versions. I'll have to do some more poking around. |
This should fix some (but not all) of them: #230 |
Odd that this is getting an ambiguity error on I'm not getting that locally, but I am getting a lot of obviously-related failures from |
I assumed that |
…d === for comparisons, and Static.find_first_eq still returns nothing on failure, like Base.findfirst
The lu ambiguities are because it was using an old version of StaticArrays, before: We could add a test/Project.toml to restrict the version it tests with. |
Codecov Report
@@ Coverage Diff @@
## master #232 +/- ##
==========================================
+ Coverage 88.97% 89.01% +0.03%
==========================================
Files 11 11
Lines 1751 1730 -21
==========================================
- Hits 1558 1540 -18
+ Misses 193 190 -3
Continue to review full report at Codecov.
|
Doc tests fail, but should pass once the pkg server updates and has Static 0.5 available. |
Since this is breaking, do we want to wait to register this until we manage other breaking changes like moving BandedMatrixIndex out |
Sure, no rush. |
I just moved the banded matrix stuff into requires so that when we move to other packages nothing should change. |
Is this breaking change really worth to make? The whole SciML ecosystem is still forced on v3 and not able to use new features. |
It's been too long without downstream PRs. Let's revert it today. |
Is the problem just with getting LoopVectorization updated or do we need to go through the whole ecosystem? I'd be surprised if many packages had to change anything to accommodate this. |
#232 was found to be a huge mistake. For interface checks, you want `nothing` instead of `missing` because you want to handle the cases. The issue with `missing` is that it propagates, `missing + 1 == missing`. We don't want that here, we want clear and precise error messages at the spot where the `nothing` is found if it's not supposed to be there and it's supposed to be handled. That is antithetical to most of its usage here. So this is a strong revert with a breaking update, which should fix downstream libraries (LoopVectorization, OrdinaryDiffEq, etc.) which were never received the proper downstream PRs from the original change anyways.
No description provided.