Skip to content
Snippets Groups Projects

make Z.of_nat not a coercion inside std++

Merged Ralf Jung requested to merge ralf/coercions into master
All threads resolved!

This takes a first step towards #102 by not declaring the coercion in std++. We will add it back in Iris. This can help gauge the fallout of #102, and it would have caught this problem.

Edited by Ralf Jung

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • I would prefer to go all the way immediately, but this could be a sensible stepping stone.

    Do we have any idea how much removing the coercion entirely will break in Iris and some major Iris developments (like RustBelt or examples)?

  • I would prefer to go all the way immediately,

    I don't have the time to push that through currently, and would prefer to do it after the deadline.

    However, moving the Coercion from here to iris.prelude.prelude should be easy and should still be mostly backwards compatible, so maybe that's better -- it feels a bit less hacky.

    Do we have any idea how much removing the coercion entirely will break in Iris and some major Iris developments (like RustBelt or examples)?

    No. My guess is "a lot, and fixing is trivial but tedious -- insert these calls everywhere by hand".

  • Michael Sammler mentioned in merge request !259 (merged)

    mentioned in merge request !259 (merged)

  • Ralf Jung added 7 commits

    added 7 commits

    Compare with previous version

  • Ralf Jung resolved all threads

    resolved all threads

  • Ralf Jung added 1 commit

    added 1 commit

    • 5062a5fc - remove Z.of_nat coercion entirely in std++ (but we'll add it in Iris for now)

    Compare with previous version

  • Ralf Jung changed title from make Z.of_nat not a coercion inside the prelude implementation to make Z.of_nat not a coercion inside std++

    changed title from make Z.of_nat not a coercion inside the prelude implementation to make Z.of_nat not a coercion inside std++

  • Ralf Jung changed the description

    changed the description

  • @robbertkrebbers any objections to landing this, and then adding back the coercion in Iris? We can still experiment with notations in separate MRs, if anyone has any good ideas. (Though if you have a good idea we can also try it in this MR.)

  • Ralf Jung resolved all threads

    resolved all threads

  • Merging as discussed on Mattermost.

  • merged

  • Ralf Jung mentioned in commit 3b02de05

    mentioned in commit 3b02de05

  • @iris-users this is a breaking change if you are using std++ without Iris: Z.of_nat is no longer a coercion. In Iris, we will make it a coercion again, so wherever you import Iris, nothing changes.

  • Please register or sign in to reply
    Loading