mirror of https://github.com/rust-lang/rust
35 lines
596 B
Rust
35 lines
596 B
Rust
//@ edition:2018
|
|
//@ revisions: rpass1 rpass2
|
|
|
|
pub struct Stmt {
|
|
pub stmt_type: StmtKind,
|
|
#[cfg(rpass1)] pub stmt_tag: Option<LintTag>,
|
|
#[cfg(rpass2)] pub renamed_tag: Option<LintTag>,
|
|
}
|
|
pub struct LintTag;
|
|
pub enum StmtKind {
|
|
If(If),
|
|
Block(&'static str),
|
|
Return(Return),
|
|
}
|
|
pub struct If {
|
|
pub condition: Function,
|
|
}
|
|
pub struct Return {
|
|
pub value: Function,
|
|
}
|
|
pub struct Function {
|
|
pub parameters: Box<Stmt>,
|
|
}
|
|
pub fn start_late_pass(stmt_receiver: Box<Stmt>) {
|
|
spawn(async { stmt_receiver });
|
|
}
|
|
|
|
pub fn spawn<T>(_: T)
|
|
where
|
|
T: Send,
|
|
{
|
|
}
|
|
|
|
fn main() {}
|