Skip to content

Update to Static.jl v0.8#115

Merged
cscherrer merged 6 commits into
masterfrom
static-update
May 30, 2023
Merged

Update to Static.jl v0.8#115
cscherrer merged 6 commits into
masterfrom
static-update

Conversation

@oschulz

@oschulz oschulz commented May 30, 2023

Copy link
Copy Markdown
Collaborator

Closes #99 and #111 .

Since StaticInt is no longer an Integer in Static v0.8, we need to jump through a few hoops.

Drops support for older versions of Static.jl.

@github-actions

Copy link
Copy Markdown
Package name latest stable
MeasureTheory.jl

@codecov

codecov Bot commented May 30, 2023

Copy link
Copy Markdown

Codecov Report

Patch coverage: 63.63% and project coverage change: +0.48 🎉

Comparison is base (99a603b) 53.32% compared to head (6b8d8bb) 53.80%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #115      +/-   ##
==========================================
+ Coverage   53.32%   53.80%   +0.48%     
==========================================
  Files          42       43       +1     
  Lines        1189     1221      +32     
==========================================
+ Hits          634      657      +23     
- Misses        555      564       +9     
Impacted Files Coverage Δ
src/MeasureBase.jl 77.77% <ø> (+2.77%) ⬆️
src/combinators/smart-constructors.jl 29.06% <0.00%> (ø)
src/domains.jl 10.20% <0.00%> (+5.85%) ⬆️
src/static.jl 60.00% <60.00%> (ø)
src/combinators/power.jl 82.25% <69.23%> (-2.23%) ⬇️
src/standard/stdmeasure.jl 91.30% <100.00%> (ø)

... and 2 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@github-actions

Copy link
Copy Markdown
Package name latest stable
MeasureTheory.jl

@github-actions

Copy link
Copy Markdown
Package name latest stable
MeasureTheory.jl

@github-actions

Copy link
Copy Markdown
Package name latest stable
MeasureTheory.jl

@oschulz oschulz requested a review from cscherrer May 30, 2023 12:36
@github-actions

Copy link
Copy Markdown
Package name latest stable
MeasureTheory.jl

@oschulz oschulz requested a review from theogf May 30, 2023 12:38
Comment thread .github/workflows/CI.yml Outdated
Comment thread Project.toml Outdated
Comment thread src/combinators/power.jl Outdated
Comment thread src/static.jl Outdated
@github-actions

Copy link
Copy Markdown
Package name latest stable
MeasureTheory.jl

@github-actions

Copy link
Copy Markdown
Package name latest stable
MeasureTheory.jl

@github-actions

Copy link
Copy Markdown
Package name latest stable
MeasureTheory.jl

Comment thread src/combinators/power.jl Outdated
Comment thread src/combinators/power.jl Outdated
@oschulz oschulz changed the title Static v0.8 compatibility Update to Static.jl v0.8 May 30, 2023
@github-actions

Copy link
Copy Markdown
Package name latest stable
MeasureTheory.jl

Co-authored-by: Chad Scherrer <chad.scherrer@gmail.com>
@github-actions

Copy link
Copy Markdown
Package name latest stable
MeasureTheory.jl

@github-actions

Copy link
Copy Markdown
Package name latest stable
MeasureTheory.jl

@github-actions

Copy link
Copy Markdown
Package name latest stable
MeasureTheory.jl

@cscherrer

Copy link
Copy Markdown
Collaborator

Just to be sure I understand, it seems like static floats are working again with our interface, but ints are not, so you added special cases and dispatch patterns to handle this. Is that right?

@oschulz

oschulz commented May 30, 2023

Copy link
Copy Markdown
Collaborator Author

Just to be sure I understand, it seems like static floats are working again with our interface, but ints are not, so you added special cases and dispatch patterns to handle this. Is that right?

Yes, that's right - Static.jl v0.8 has static floats are Reals again, but the static ints are not Integers again. I have been working on that (SciML/Static.jl#92), but it's tricky and I don't know if I can do it with a number of invalidations the Static maintainers will accept - and on what timeline.

But the approach in this PR seems to work.

@oschulz

oschulz commented May 30, 2023

Copy link
Copy Markdown
Collaborator Author

Ok now @theogf and @cscherrer ?

@cscherrer

Copy link
Copy Markdown
Collaborator

We should still check MeasureTheory tests locally. Latest MT has

Static = "0.5, 0.6"

Does that mean this PR is technically a breaking change?

@oschulz

oschulz commented May 30, 2023

Copy link
Copy Markdown
Collaborator Author

Does that mean this PR is technically a breaking change?

No, AFAIK this is not considered breaking - none of the interfaces in MeasureBase.jl change. The fact the MeasureBase.jl depends on Static directly is a separate thing. It doesn't lead to code breaking, it only restricts which package versions are compatible.

(It would be breaking if code that worked before, coupled with a Project.toml that specifies it's requirements, wouldn't work after a package update, but that won't happen. People might just not get the new version of MeasureBase.).

@oschulz

oschulz commented May 30, 2023

Copy link
Copy Markdown
Collaborator Author

We should still check MeasureTheory tests locally.

But MeasureTheory doesn't even support MeasureBase v0.14 yet.

@cscherrer

Copy link
Copy Markdown
Collaborator

Oh, I didn't realize it was so behind. Ok in that case let's go with this and then MT can catch up

@oschulz

oschulz commented May 30, 2023

Copy link
Copy Markdown
Collaborator Author

Ok in that case let's go with this and then MT can catch up

I'll see if I can do the Distributions extension soon, then MT can be updated in one go, maybe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants