rust/src/test/ui/issues/auxiliary/issue-30123-aux.rs
2018-12-25 21:08:33 -07:00

24 lines
501 B
Rust

use std::marker::PhantomData;
pub struct Directed;
pub struct Undirected;
pub struct Graph<N, E, Ty = Directed> {
nodes: Vec<PhantomData<N>>,
edges: Vec<PhantomData<E>>,
ty: PhantomData<Ty>,
}
impl<N, E> Graph<N, E, Directed> {
pub fn new() -> Self {
Graph{nodes: Vec::new(), edges: Vec::new(), ty: PhantomData}
}
}
impl<N, E> Graph<N, E, Undirected> {
pub fn new_undirected() -> Self {
Graph{nodes: Vec::new(), edges: Vec::new(), ty: PhantomData}
}
}