pub trait KnowsVisitor {
type Visitor;
type VisitorMut;
}
impl<T> KnowsVisitor for Box<T>
where
T: KnowsVisitor,
{
type Visitor = T::Visitor;
type VisitorMut = T::VisitorMut;
}
impl<T> KnowsVisitor for &T
where
T: KnowsVisitor,
{
type Visitor = T::Visitor;
type VisitorMut = T::VisitorMut;
}
impl<T> KnowsVisitor for &mut T
where
T: KnowsVisitor,
{
type Visitor = T::Visitor;
type VisitorMut = T::VisitorMut;
}