Skip to content

Conversation

@qsctr
Copy link
Collaborator

@qsctr qsctr commented Dec 1, 2025

  • Update mir-json submodule to bring in changes from Update Rust toolchain to 1.91 (nightly-2025-09-14) mir-json#200
  • Update supported mir-json schema version to 6
  • Add override for overlap checking in Cell::swap (mir-json side commit is GaloisInc/mir-json@7b67f3e)
  • Remove now-unused code in crucible-mir after mir-json changes
  • In crux-mir, get the .rlib and .mir paths for the standard libraries by just listing everything in the rlibs directory instead of keeping a hard-coded list, since the list of standard libraries changes across Rust versions
  • Add crux-mir tests for new standard library patches, and old patches that weren't previously covered by any tests
  • Update crux-mir golden test outputs and xfail test reasons

@qsctr qsctr self-assigned this Dec 1, 2025
Comment on lines +766 to +779
cell_swap_is_nonoverlapping :: (ExplodedDefId, CustomRHS)
cell_swap_is_nonoverlapping =
( ["core", "cell", "{impl}", "swap", "crucible_cell_swap_is_nonoverlapping_hook"]
, \case
Substs [ty] -> Just $ CustomOp $ \_ ops -> case ops of
[MirExp MirReferenceRepr src,
MirExp MirReferenceRepr dest] -> do
size <- getLayoutFieldAsExpr "crucible_cell_swap_is_nonoverlapping_hook" laySize ty
MirExp C.BoolRepr <$> isNonOverlapping src dest size
_ -> mirFail $
"bad arguments for Cell::swap::crucible_cell_swap_is_nonoverlapping_hook: "
++ show ops
_ -> Nothing
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a crux-mir test case that uses Cell::swap in order to ensure that this override has test coverage?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, it's in test/conc_eval/cell/swap.rs. There are also a few crux-mir-comp tests that use it.

@qsctr qsctr merged commit 9bf2333 into master Dec 1, 2025
31 checks passed
@qsctr qsctr deleted the rust-1.91 branch December 1, 2025 21:58
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