minirust icon indicating copy to clipboard operation
minirust copied to clipboard

A precise specification for "Rust lite / MIR plus"

Results 48 minirust issues
Sort by recently updated
recently updated
newest added

Currently MiniRust defines how pointers are encoded and decoded pretty precisely. This might be too restrictive for CHERI so we might have to figure out a way to leave this...

Rust has a bunch of operators that we do not support yet: - [x] BitOr, BitXor (on integers and Booleans) - [x] Shl, Shr - [x] Cmp - [x] checked...

This occurs for instance [here](https://github.com/minirust/minirust/blob/c91adf155212f6197631cb560247ec604b1f003d/tooling/minimize/tests/pass/union.rs#L73), via the PartialEq impl for arrays of integers.

Currently we use the standard library that is shipped with rustc. This means if a function is already codegen'd, we fail as we cannot access its MIR. Instead we need...

This may need changes to how rustc types are translated to MiniRust types, and/or changes in MiniRust itself -- I am not sure. But it is crucial to properly model...

SetDiscriminant can be a NOP when writing the discriminant of the niched variant in a niche-optimized enum. We still want it to be UB to call SetDiscriminant with such a...

Currently, we don't support unwinding. That's a missing feature that should be added. :)

Currently, well-formedness knows nothing about intrinsics, so all their type-checking happens during execution. This leads to a large fraction of `intrinsics.rs` being concerned with type-checking arguments and return types, which...

We should find better ways to translate these: ```rust // those are IGNORED currently. rs::TerminatorKind::Drop { target, .. } | rs::TerminatorKind::Assert { target, .. } => Terminator::Goto(self.bb_name_map[&target]), ```