@@ -69,17 +69,23 @@ use syn::{Ident, LitStr, Result, Token};
6969pub fn host_bindgen ( input : proc_macro:: TokenStream ) -> proc_macro:: TokenStream {
7070 let _ = env_logger:: try_init ( ) ;
7171 let parsed_bindgen_input = syn:: parse_macro_input!( input as BindgenInputParams ) ;
72- let path = parsed_bindgen_input. path . unwrap_or_else ( || {
73- let wit_world_env = std:: env:: var_os ( "WIT_WORLD" ) ;
72+ // let path = parsed_bindgen_input.path.unwrap_or_else(|| {
73+ // let wit_world_env = std::env::var_os("WIT_WORLD");
74+
75+ // if let Some(env) = wit_world_env {
76+ // std::path::PathBuf::from(env)
77+ // } else {
78+ // std::path::PathBuf::new()
79+ // }
80+ // });
81+
82+ let path = parsed_bindgen_input. path ;
83+ let path = match path {
84+ Some ( env) => env. into_os_string ( ) ,
85+ None => std:: env:: var_os ( "WIT_WORLD" ) . unwrap ( ) ,
86+ } ;
7487
75- if let Some ( env) = wit_world_env {
76- std:: path:: PathBuf :: from ( env)
77- } else {
78- std:: path:: PathBuf :: new ( )
79- }
80- } ) ;
8188 let world_name = parsed_bindgen_input. world_name ;
82-
8389 util:: read_wit_type_from_file ( path, world_name, |kebab_name, ct| {
8490 let decls = emit:: run_state ( false , false , |s| {
8591 rtypes:: emit_toplevel ( s, & kebab_name, ct) ;
@@ -100,17 +106,23 @@ pub fn host_bindgen(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
100106pub fn guest_bindgen ( input : proc_macro:: TokenStream ) -> proc_macro:: TokenStream {
101107 let _ = env_logger:: try_init ( ) ;
102108 let parsed_bindgen_input = syn:: parse_macro_input!( input as BindgenInputParams ) ;
103- let path = parsed_bindgen_input. path . unwrap_or_else ( || {
104- let wit_world_env = std:: env:: var_os ( "WIT_WORLD" ) ;
109+ // let path = parsed_bindgen_input.path.unwrap_or_else(|| {
110+ // let wit_world_env = std::env::var_os("WIT_WORLD");
111+
112+ // if let Some(env) = wit_world_env {
113+ // std::path::PathBuf::from(env)
114+ // } else {
115+ // std::path::PathBuf::new()
116+ // }
117+ // });
118+
119+ let path = parsed_bindgen_input. path ;
120+ let path = match path {
121+ Some ( env) => env. into_os_string ( ) ,
122+ None => std:: env:: var_os ( "WIT_WORLD" ) . unwrap ( ) ,
123+ } ;
105124
106- if let Some ( env) = wit_world_env {
107- std:: path:: PathBuf :: from ( env)
108- } else {
109- std:: path:: PathBuf :: new ( )
110- }
111- } ) ;
112125 let world_name = parsed_bindgen_input. world_name ;
113-
114126 util:: read_wit_type_from_file ( path, world_name, |kebab_name, ct| {
115127 let decls = emit:: run_state ( true , false , |s| {
116128 // Emit type/trait definitions for all instances in the world
0 commit comments