rust/tests/ui/issues/auxiliary/issue-30123-aux.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

24 lines
501 B
Rust
Raw Normal View History

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}
}
}