From 58a1fa21820f6b7613a35e2f3367faa4ee873807 Mon Sep 17 00:00:00 2001 From: RGBCube Date: Tue, 2 Jan 2024 17:18:18 +0300 Subject: [PATCH] Fix --- Cargo.lock | 1 + macros/Cargo.toml | 5 +++-- macros/src/lib.rs | 10 ++++++---- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a07a683..9d695ba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13,6 +13,7 @@ dependencies = [ name = "embed_macros" version = "0.1.0" dependencies = [ + "proc-macro2", "quote", "syn", ] diff --git a/macros/Cargo.toml b/macros/Cargo.toml index 9c4b391..3cbe8d9 100644 --- a/macros/Cargo.toml +++ b/macros/Cargo.toml @@ -13,5 +13,6 @@ edition = "2021" proc_macro = true [dependencies] -quote = "1" -syn = "2" +proc-macro2 = "1" +quote = "1" +syn = "2" diff --git a/macros/src/lib.rs b/macros/src/lib.rs index b3d3b5a..0e2d06d 100644 --- a/macros/src/lib.rs +++ b/macros/src/lib.rs @@ -3,7 +3,8 @@ use std::{ path::PathBuf, }; -use proc_macro::TokenStream; +use proc_macro as pm1; +use proc_macro2::TokenStream; use quote::quote; use syn::{ parse_macro_input, @@ -11,7 +12,7 @@ use syn::{ }; #[proc_macro] -pub fn __include_dir(tokens: TokenStream) -> TokenStream { +pub fn __include_dir(tokens: pm1::TokenStream) -> pm1::TokenStream { let path = parse_macro_input!(tokens as LitStr).value(); let path = PathBuf::from(path) @@ -27,12 +28,13 @@ pub fn __include_dir(tokens: TokenStream) -> TokenStream { vec![#(#children),*] }; - TokenStream::from(quote! { + (quote! { ::embed::Dir { children: #children_tokens, path: ::std::path::PathBuf::from(#path_str), } }) + .into() } fn read_dir(path: &PathBuf) -> Vec { @@ -50,7 +52,7 @@ fn read_dir(path: &PathBuf) -> Vec { .to_str() .expect("Failed to get the string representation of PathBuf"); - let filetype = fs::metadata(path) + let filetype = fs::metadata(&path) .expect("Failed to get file metadata") .file_type();