---
# System prepended metadata

title: stable mir checkin

---

# stable mir checkin

Add your project name and url as a section below. Then fill in a Status and Prerequisites subsection.

## miri

https://github.com/rust-lang/miri/

### Status

No attempt at using stable mir crate as of yet.

### Desired next steps/Prerequisites

Nothing concrete yet, just need to do work on our end to use stable mir.

## creusot

https://github.com/xldenis/creusot

### Status

Moved everything over to SMIR + internal wrapper crate

### Desired next steps/Preqrequisites

RA autocompletions / suggestions are broken, it refuses to refer to either the wrapper crate or SMIR (which is just a wrapper).

smir contains far too few apis, more should be upstreamed from Creusot. Finding the right balance is not obvious since Creusot uses a *lot* of apis. 

## Prusti

https://github.com/viperproject/prusti-dev

Status/next steps are identical to Creusot.

## Kani

https://github.com/model-checking/kani

### Status

Isolated all the imports into a separate crate a while ago in a branch. Still haven't tried switching to using the `rustc_smir` interface.

### Desired next steps/Preqrequisites

Start creating stable APIs around statements, types, constants, statics.

## crux-mir

https://github.com/GaloisInc/crucible/tree/master/crux-mir

### Status

No attempt at using stable mir crate as of yet.

### Desired next steps/Prerequisites

Nothing concrete yet.

## drop-if refactoring

This isn't a project =) but I think it's related --nikomatsakis

We opened a MCP for the `DropIf` refactoring and will hopefully begin with implementation work soon. Guil