1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use std::fmt;

use crate::{type_info::PyVariableInfo, TypeInfo};

#[derive(Debug, Clone, PartialEq)]
pub struct VariableDef {
    pub name: &'static str,
    pub type_: TypeInfo,
}

impl From<&PyVariableInfo> for VariableDef {
    fn from(info: &PyVariableInfo) -> Self {
        Self {
            name: info.name,
            type_: (info.r#type)(),
        }
    }
}

impl fmt::Display for VariableDef {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "{}: {}", self.name, self.type_)
    }
}