From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1643) id 4597D3853568; Thu, 1 Sep 2022 06:46:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4597D3853568 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1662014803; bh=ptpZJDUL6OXsEiY59XOOIkQyTcz1+p4L7rQKuEFMNHE=; h=From:To:Subject:Date:From; b=ZvqiC9n9E8Gw8OCh3LooKJ0+E+k+/jMlY3BkVouy+QH+QPPcBgtwkpGs0IbWXZibl tdx0ceyj89eQEjWIZ7KCbit75bZ3nOMBMpHHhqwBVwLfWCnNrbLLuJLnMIrGUw23do DhQQJ7XrTHfmqXOsfOtK2oJc+tAezlgw9JFOm+qk= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Thomas Schwinge To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/rust/master] Unit structs are not concrete when they need substitutions X-Act-Checkin: gcc X-Git-Author: Philip Herron X-Git-Refname: refs/heads/devel/rust/master X-Git-Oldrev: 126c7c9d7a2f9023115d6c692dbcf9e981ba2b4a X-Git-Newrev: 63403f0af7203f3b3c4bc2fef52fee884bb728b8 Message-Id: <20220901064643.4597D3853568@sourceware.org> Date: Thu, 1 Sep 2022 06:46:43 +0000 (GMT) List-Id: https://gcc.gnu.org/g:63403f0af7203f3b3c4bc2fef52fee884bb728b8 commit 63403f0af7203f3b3c4bc2fef52fee884bb728b8 Author: Philip Herron Date: Wed Aug 31 17:16:13 2022 +0100 Unit structs are not concrete when they need substitutions Fixes #1518 Diff: --- gcc/rust/typecheck/rust-tyty.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/rust/typecheck/rust-tyty.h b/gcc/rust/typecheck/rust-tyty.h index 649f133edb1..74c8c354897 100644 --- a/gcc/rust/typecheck/rust-tyty.h +++ b/gcc/rust/typecheck/rust-tyty.h @@ -1362,6 +1362,11 @@ public: bool is_concrete () const override final { + if (is_unit ()) + { + return !needs_substitution (); + } + for (auto &variant : variants) { for (auto &field : variant->get_fields ())