1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// This is free and unencumbered software released into the public domain.

use crate::Relationship;

pub trait Import: Relationship {
    fn visibility(&self) -> VisibilityKind {
        VisibilityKind::Public
    }

    fn is_recursive(&self) -> bool {
        false
    }

    fn is_import_all(&self) -> bool {
        false
    }
}

#[derive(Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub enum VisibilityKind {
    #[default]
    Public,
    Private,
    Protected,
}