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}