diff --git a/luisa_compute/src/runtime.rs b/luisa_compute/src/runtime.rs index d51f7d4..33f74e5 100644 --- a/luisa_compute/src/runtime.rs +++ b/luisa_compute/src/runtime.rs @@ -340,9 +340,7 @@ impl Device { raw_window_handle::RawWindowHandle::Orbital(_) => todo!(), raw_window_handle::RawWindowHandle::Xlib(h) => h.window as u64, raw_window_handle::RawWindowHandle::Xcb(h) => h.window.get() as u64, - raw_window_handle::RawWindowHandle::Wayland(h) => { - h.surface.as_ptr() as u64 - } + raw_window_handle::RawWindowHandle::Wayland(h) => h.surface.as_ptr() as u64, raw_window_handle::RawWindowHandle::Drm(_) => todo!(), raw_window_handle::RawWindowHandle::Gbm(_) => todo!(), raw_window_handle::RawWindowHandle::Win32(h) => h.hwnd.get() as u64, @@ -832,6 +830,7 @@ impl Drop for SwapchainHandle { } } +#[derive(Clone)] pub struct Swapchain { pub(crate) handle: Arc, #[allow(dead_code)] diff --git a/luisa_compute_track/src/lib.rs b/luisa_compute_track/src/lib.rs index 271664a..c2894d9 100644 --- a/luisa_compute_track/src/lib.rs +++ b/luisa_compute_track/src/lib.rs @@ -426,10 +426,6 @@ pub fn tracked( let item = syn::parse_macro_input!(item as ItemFn); let body = &item.block; let body_span = body.span(); - let ret_type = match &item.sig.output { - ReturnType::Default => quote_spanned! {body_span=> () }, - ReturnType::Type(_, ty) => quote_spanned! {body_span=> #ty }, - }; let body = proc_macro::TokenStream::from(quote!({ #body })); let body = track_impl(parse_macro_input!(body as Expr), &crate_path); let body = quote_spanned! {body_span=> @@ -444,7 +440,7 @@ pub fn tracked( }; #crate_path::lang::debug::comment(&format!("begin fn {} at {}:{}:{}", __fn_name, file!(), line!(), column!())); #[allow(clippy::let_unit_value)] - let __ret: #ret_type = #body; + let __ret = #body; #[allow(unreachable_code)] { #crate_path::lang::debug::comment(&format!("end fn {} at {}:{}:{}", __fn_name, file!(), line!(), column!()));