runmat-mir 0.5.0

Mid-level IR and analysis scaffolding for RunMat
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::MirOperand;
use runmat_hir::{Span, SpawnSafetyFact};
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Default)]
pub enum AsyncBehaviorFact {
    #[default]
    NeverSuspends,
    MaySuspend,
    RequiresAsyncRuntime,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct SpawnBoundary {
    pub future: MirOperand,
    pub safety: SpawnSafetyFact,
    pub span: Span,
}