Skip to main content

dada_ir_sym/check/
live_places.rs

1use crate::ir::types::SymPlace;
2
3use super::env::Env;
4
5/// Placeholder for the liveness computation we will be doing
6#[derive(Copy, Clone)]
7pub struct LivePlaces {}
8
9#[expect(unused_variables)]
10impl LivePlaces {
11    /// Assume no places are live.
12    pub fn none<'db>(env: &Env<'db>) -> Self {
13        Self {}
14    }
15
16    /// Special placeholder for when we relate bounds on inference variables.
17    /// For permissions, these bounds are [`RedPerm`](`crate::check::red::RedPerm`)
18    /// values and already contain liveness information.
19    pub fn infer_bounds() -> Self {
20        Self {}
21    }
22
23    /// Used where we have to think about the right value
24    pub fn fixme() -> Self {
25        Self {}
26    }
27
28    pub fn is_live<'db>(&self, env: &Env<'db>, place: SymPlace<'db>) -> bool {
29        true // FIXME
30    }
31}