half-finish backend macro
i cannot figure out how procedural macros work actually
This commit is contained in:
@@ -42,39 +42,6 @@ macro_rules! impl_backend_constants {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// #[macro_export]
|
|
||||||
// macro_rules! register_backends {
|
|
||||||
// ($first:ident, $($name:ident),*) => {
|
|
||||||
// #[derive(Debug, Hash, PartialEq, Eq)]
|
|
||||||
// pub(crate) enum Backends {
|
|
||||||
// $first,
|
|
||||||
// $(
|
|
||||||
// $name,
|
|
||||||
// )*
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// impl Backends {
|
|
||||||
// pub fn iter() -> BackendIter {
|
|
||||||
// BackendIter {
|
|
||||||
// next: Some(Backends::$first),
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// fn next(&self) -> Option<Self> {
|
|
||||||
// match self {
|
|
||||||
// $(
|
|
||||||
// Self::$name => match $name {
|
|
||||||
// $(
|
|
||||||
// _ => Some(Self::$name),
|
|
||||||
// )*
|
|
||||||
// _ => None
|
|
||||||
// },
|
|
||||||
// )*
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! register_backends {
|
macro_rules! register_backends {
|
||||||
($first:ident, $($name:ident),*) => {
|
($first:ident, $($name:ident),*) => {
|
||||||
@@ -93,14 +60,6 @@ macro_rules! register_backends {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn next(&self) -> Option<Self> {
|
|
||||||
println!("Some({:?})", Self::$first);
|
|
||||||
$(
|
|
||||||
println!("{:?}", Self::$name);
|
|
||||||
)*
|
|
||||||
None
|
|
||||||
}
|
|
||||||
|
|
||||||
fn get_backend(&self) -> Box<dyn Backend> {
|
fn get_backend(&self) -> Box<dyn Backend> {
|
||||||
match self {
|
match self {
|
||||||
Self::$first => Box::new($first::new()),
|
Self::$first => Box::new($first::new()),
|
||||||
|
|||||||
+6
-15
@@ -23,21 +23,12 @@ pub(crate) use rust::Rust;
|
|||||||
register_backends!(Pacman, Rust);
|
register_backends!(Pacman, Rust);
|
||||||
|
|
||||||
impl Backends {
|
impl Backends {
|
||||||
// fn next(&self) -> Option<Self> {
|
fn next(&self) -> Option<Self> {
|
||||||
// match self {
|
match self {
|
||||||
// Self::Pacman => Some(Self::Rust),
|
Self::Pacman => Some(Self::Rust),
|
||||||
// Self::Rust => Some(Self::Pip),
|
Self::Rust => None,
|
||||||
// Self::Pip => None,
|
}
|
||||||
// }
|
}
|
||||||
// }
|
|
||||||
|
|
||||||
// fn get_backend(&self) -> Box<dyn Backend> {
|
|
||||||
// match self {
|
|
||||||
// Self::Pacman => Box::new(Pacman::new()),
|
|
||||||
// Self::Rust => Box::new(Rust::new()),
|
|
||||||
// _ => todo!(),
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
|
|||||||
Reference in New Issue
Block a user