askama/testing/tests/ui/macro-named-crate.rs
2025-05-23 21:01:00 +02:00

38 lines
998 B
Rust

// The names `crate`, `self`, `Self` and `super` cannot be raw identifiers, so they can never
// be valid macro names.
#[derive(askama::Template)]
#[template(source = "{{ crate!() }}", ext = "txt")]
struct MacroCrate;
#[derive(askama::Template)]
#[template(source = "{{ self!() }}", ext = "txt")]
struct MacroSelf;
#[derive(askama::Template)]
#[template(source = "{{ Self!() }}", ext = "txt")]
struct MacroSelfType;
#[derive(askama::Template)]
#[template(source = "{{ super!() }}", ext = "txt")]
struct MacroSuper;
#[derive(askama::Template)]
#[template(source = "{{ some::path::crate!() }}", ext = "txt")]
struct MacroPathCrate;
#[derive(askama::Template)]
#[template(source = "{{ some::path::self!() }}", ext = "txt")]
struct MacroPathSelf;
#[derive(askama::Template)]
#[template(source = "{{ some::path::Self!() }}", ext = "txt")]
struct MacroPathSelfType;
#[derive(askama::Template)]
#[template(source = "{{ some::path::super!() }}", ext = "txt")]
struct MacroPathSuper;
fn main() {
}