Skip to main content

tract_core/ops/
unimpl.rs

1use crate::internal::*;
2
3#[derive(Debug, Clone, Hash)]
4pub struct UnimplementedOp {
5    outputs: usize,
6    name: String,
7    message: String,
8}
9
10impl UnimplementedOp {
11    pub fn new(outputs: usize, name: impl AsRef<str>, message: impl AsRef<str>) -> UnimplementedOp {
12        UnimplementedOp {
13            outputs,
14            name: name.as_ref().to_string(),
15            message: message.as_ref().to_string(),
16        }
17    }
18}
19
20impl Op for UnimplementedOp {
21    fn name(&self) -> StaticName {
22        format!("Unimplemented({})", self.name).into()
23    }
24
25    not_a_typed_op!();
26}
27
28impl EvalOp for UnimplementedOp {
29    fn is_stateless(&self) -> bool {
30        false
31    }
32}