From nobody Fri Apr 4 03:59:41 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1742302536; cv=none; d=zohomail.com; s=zohoarc; b=O4pbjPWPqKLxdjI/pRlPoNJ4BNIfzrCyJUOU5MgbrecmIXF/1X3fJnwwZ6nKAuQh1SvtQRlRvjCGcLxaCMi76YSU4QWLIac90OPS9az+7fIMwyf9iGLiXZ30dYc5Q4a7YKwlC556SuegtEHteZdlXjsOgVBxxMOHfyk6ZC9FbRI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1742302536; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=OX7FDJO7WfYOwGR1dVDKl+rkFiGHRHY2Ibuvj5+Ei78=; b=FMA1nhDBPCeubMOe11L9/AHGQiNcJph/5JzDUOs+y+juHl4dLTgCEKjNRxd+fBrR2nE9sq3tgfFemtj8UjIE/gR6wTn3n0Hl+uRyegQ4C55r8QJXdIpSrH3p1vfHu4WVYruAZ2isKExSv/sHkneyyucoQeao3hCr7t2zAB2sX5I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1742302536473878.457663221825; Tue, 18 Mar 2025 05:55:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tuWHK-00081I-AF; Tue, 18 Mar 2025 08:42:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tuWH6-0007qs-Ss; Tue, 18 Mar 2025 08:42:30 -0400 Received: from mgamail.intel.com ([198.175.65.12]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tuWH3-0002wy-Pa; Tue, 18 Mar 2025 08:42:27 -0400 Received: from orviesa009.jf.intel.com ([10.64.159.149]) by orvoesa104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Mar 2025 05:42:19 -0700 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.39]) by orviesa009.jf.intel.com with ESMTP; 18 Mar 2025 05:42:17 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1742301746; x=1773837746; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=oNTyY42WX481d5bX9cw8tiiWl2PH6jRFnI6SscTNaEc=; b=AIaA5GY83o4exiiIhAtV9LisoP0wBsrFNv5HE607+8VdFA1DVMrhlun2 vJaUPF0U66XofNgyWG8UNxj3DNe/UYp+k5Jrim1hAgz2n9VKEHjK/QeR8 UawNVk+c8amVjePDiutsmqIlA7LkgyzzCkj5+PcnIHy5vCLnoaGhGRHlx iBmLCglkZHV/fQaV4aME4VF5XV8KY4OxZx7HEDfWCYHJ0qNLh/bsSnz1N tZIrERiEfVEAYbp/XjIHELB+eR0ZT+/eIhFw0DHeY3iZZ7qq7StVXZh5D XAJ24y83h084o1zrIAMddRGyiZP+ACA18LwM0woFePuXjEqWnOovscCZM A==; X-CSE-ConnectionGUID: d6tzlCFsT5mY9gtyOuVbsg== X-CSE-MsgGUID: 8JnZrBrLSvKM7ahibIedgQ== X-IronPort-AV: E=McAfee;i="6700,10204,11377"; a="54824584" X-IronPort-AV: E=Sophos;i="6.14,256,1736841600"; d="scan'208";a="54824584" X-CSE-ConnectionGUID: MxO89FBxSF+F28I9Fjsxzw== X-CSE-MsgGUID: aZPq6sY1SG+E1q2LVeJNug== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.14,256,1736841600"; d="scan'208";a="121980453" From: Zhao Liu To: Paolo Bonzini Cc: qemu-devel@nongnu.org, qemu-rust@nongnu.org, Zhao Liu Subject: [PATCH v3 07/15] rust/vmstate: Fix unnecessary VMState bound of with_varray_flag() Date: Tue, 18 Mar 2025 21:02:11 +0800 Message-Id: <20250318130219.1799170-8-zhao1.liu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250318130219.1799170-1-zhao1.liu@intel.com> References: <20250318130219.1799170-1-zhao1.liu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=198.175.65.12; envelope-from=zhao1.liu@intel.com; helo=mgamail.intel.com X-Spam_score_int: -46 X-Spam_score: -4.7 X-Spam_bar: ---- X-Spam_report: (-4.7 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.332, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1742302543843019000 Content-Type: text/plain; charset="utf-8" The VMState type bound is not used in with_varray_flag(). And for vmstate_struct, Rust cannot infer the type of `num` from the call_func_with_field(), so this causes the compiling error because it complains "cannot satisfy `_: VMState`" in with_varray_flag(). Note Rust can infer the type in vmstate_of macro so that with_varray_flag() can work at there. It is possible that the different initialization ways in the two macros cause differences in Rust's type inference. But in fact, the VMState type bound is not used in with_varray_flag() and vmstate_varray_flag() has already checked the VMState type, it's safe to drop VMState bound of with_varray_flag(), which can fix the above compiling error. Signed-off-by: Zhao Liu --- rust/qemu-api/src/vmstate.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/qemu-api/src/vmstate.rs b/rust/qemu-api/src/vmstate.rs index 3be3a7260fe9..792a74fdfc08 100644 --- a/rust/qemu-api/src/vmstate.rs +++ b/rust/qemu-api/src/vmstate.rs @@ -275,7 +275,7 @@ pub const fn with_pointer_flag(mut self) -> Self { } =20 #[must_use] - pub const fn with_varray_flag(mut self, flag: VMStateFlags= ) -> VMStateField { + pub const fn with_varray_flag(mut self, flag: VMStateFlags) -> VMState= Field { assert!((self.flags.0 & VMStateFlags::VMS_ARRAY.0) !=3D 0); self.flags =3D VMStateFlags(self.flags.0 & !VMStateFlags::VMS_ARRA= Y.0); self.flags =3D VMStateFlags(self.flags.0 | flag.0); --=20 2.34.1