#![allow(non_camel_case_types)] use proc_macro2::TokenStream; use quote::{quote, ToTokens}; macro_rules! fq { ($name:ident => $($tokens:tt)*) => { pub(crate) struct $name; impl ToTokens for $name { fn to_tokens(&self, tokens: &mut TokenStream) { quote!($($tokens)*).to_tokens(tokens); } } }; } fq!(FQSerialize => ::serde::Serialize); fq!(FQDeserialize => ::serde::Deserialize); fq!(FQVec => ::std::vec::Vec); fq!(FQString => ::std::string::String); fq!(FQHashMap => ::std::collections::HashMap); fq!(FQClone => ::core::clone::Clone); fq!(FQCopy => ::core::marker::Copy); fq!(FQDebug => ::core::fmt::Debug); fq!(FQDisplay => ::core::fmt::Display); fq!(FQDefault => ::core::default::Default); fq!(FQSend => ::core::marker::Send); fq!(FQSync => ::core::marker::Sync); fq!(FQFrom => ::std::convert::From); fq!(FQIOError => ::std::io::Error); fq!(FQError => ::std::error::Error); fq!(FQFormatter => ::std::fmt::Formatter); fq!(FQFormatResult => ::std::fmt::Result); fq!(FQOption => ::std::option::Option); fq!(FQResult => ::std::result::Result); fq!(FQBox => ::std::boxed::Box); fq!(SerdeJsonError => ::serde_json::Error); fq!(ImportBevyPrelude => use ::bevy::prelude::*); fq!(BevyApp => ::bevy::app::App); fq!(BevyPlugin => ::bevy::app::Plugin); fq!(BevyUpdate => ::bevy::app::Update); fq!(BevyWorld => ::bevy::ecs::world::World); fq!(BevyEvent => ::bevy::ecs::event::Event); fq!(BevyRes => ::bevy::ecs::system::Res); fq!(BevyResMut => ::bevy::ecs::system::ResMut); fq!(BevyWith => ::bevy::ecs::query::With); fq!(BevyQuery => ::bevy::ecs::system::Query); fq!(BevyEntity => ::bevy::ecs::entity::Entity); fq!(BevyEventReader => ::bevy::ecs::event::EventReader); fq!(BevySystemParam => ::bevy::ecs::system::SystemParam); fq!(BevyResource => ::bevy::ecs::system::Resource); fq!(BevyComponent => ::bevy::ecs::component::Component); fq!(BevyTypePath=> ::bevy::reflect::TypePath); fq!(BevyTypeUuid => ::bevy::reflect::TypeUuid); fq!(BevyDeref => ::bevy::prelude::Deref); fq!(BevyDerefMut => ::bevy::prelude::DerefMut); fq!(BevyHandle => ::bevy::asset::Handle); fq!(BevyAsset => ::bevy::asset::Asset); fq!(BevyAssets => ::bevy::asset::Assets); fq!(BevyAssetEvent => ::bevy::asset::AssetEvent); fq!(BevyAssetLoader => ::bevy::asset::AssetLoader); fq!(BevyLoadContext => ::bevy::asset::LoadContext); fq!(BevyLoadedAsset => ::bevy::asset::LoadedAsset); fq!(BevyAssetServer => ::bevy::asset::AssetServer); fq!(BevyAddAsset => ::bevy::asset::AssetApp); fq!(BevyAsyncRead => ::bevy::asset::AsyncReadExt); fq!(BevyAssetReader => ::bevy::asset::io::Reader); fq!(send_event => ::micro_bevy_world_utils::send_event);