From 1d6af551b9602d4bda8c6e3e8871890faa15c3df Mon Sep 17 00:00:00 2001 From: Chuanxiao Dong Date: Thu, 9 Apr 2020 14:04:20 +0800 Subject: [PATCH] msg_socket: allow Enum with no variant filed types This is to allow the Enum which doesn't have filed type for all its variants to derive the MsgOnSocket. BUG=None TEST=cargo test -p msg_socket Change-Id: Iab9edda777f42e25af40e4ec0e5870401c17572b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2143572 Reviewed-by: Zach Reizner Tested-by: kokoro Commit-Queue: Chuanxiao Dong --- msg_socket/msg_on_socket_derive/msg_on_socket_derive.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/msg_socket/msg_on_socket_derive/msg_on_socket_derive.rs b/msg_socket/msg_on_socket_derive/msg_on_socket_derive.rs index fd6c19afbd..a3c065ca33 100644 --- a/msg_socket/msg_on_socket_derive/msg_on_socket_derive.rs +++ b/msg_socket/msg_on_socket_derive/msg_on_socket_derive.rs @@ -190,6 +190,11 @@ fn define_uses_fd_for_enum(de: &DataEnum) -> TokenStream { variant_field_types.push(variant_field_ty); } } + + if variant_field_types.len() == 0 { + return quote!(); + } + quote! { fn uses_fd() -> bool { #(<#variant_field_types>::uses_fd())||*