[package] name = "quasi-declare" version = "0.1.13" description = "The declare! form: a screen description compiled to Rust at build time." edition.workspace = true rust-version.workspace = true authors.workspace = true repository.workspace = true license.workspace = true publish = false [lib] proc-macro = true [dependencies] proc-macro2 = "1" quote = "1" syn = { version = "2", features = ["full", "parsing", "printing", "proc-macro"] } # Screen copy leaves Rust as TOML and the macro reads it (quasicoherent # `98fbee62`). A build-time dependency of a proc macro, so nothing of it # reaches a consumer's binary. toml = "1" [lints] workspace = true [dev-dependencies] # The pair rule has to fail at the macro, naming the binding, rather than at # rustc naming a `let` the declaration never wrote. Those are two different # compile errors and only a compile-fail harness can tell them apart. trybuild = "1" # The generated code names the vocabulary, so a case that is meant to COMPILE # needs it. A proc-macro crate cannot depend on it outside dev. quasi-router = { path = "../quasi-router", version = "0.104" }