mirror of
https://github.com/nushell/nushell.git
synced 2024-10-17 15:52:50 +02:00
20 lines
356 B
Rust
20 lines
356 B
Rust
use std::any::Any;
|
|
|
|
pub trait Type {
|
|
fn as_any(&self) -> &dyn Any;
|
|
fn equal(&self, other: &dyn Type) -> bool;
|
|
}
|
|
|
|
#[derive(Eq, PartialEq)]
|
|
pub struct AnyShell;
|
|
|
|
impl Type for AnyShell {
|
|
fn as_any(&self) -> &dyn Any {
|
|
self as &dyn Any
|
|
}
|
|
|
|
fn equal(&self, other: &dyn Type) -> bool {
|
|
other.as_any().is::<AnyShell>()
|
|
}
|
|
}
|