From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by sourceware.org (Postfix) with ESMTPS id 28C78383800E for ; Tue, 21 Feb 2023 12:04:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 28C78383800E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embecosm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=embecosm.com Received: by mail-wr1-x42e.google.com with SMTP id r7so3991933wrz.6 for ; Tue, 21 Feb 2023 04:04:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=embecosm.com; s=google; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=cn21z6lBPZuI15CN1Av/jLF6sToO05XyZ1FrrIoqbYA=; b=ew5I7TSeDbGa0prayJ4nMXpWO3/A5tCda1BtSPlIkJtEC/lqClMaflsEheypI7JBj5 ALpeWhcliW6RnfHcqwU7u3wRuHRQ8RDknZgjwBZNvpa6oqLHofNCGy4l9Xgwp2RLZS2t vhVfb33ZoQJKWDVhbADzoosxbHC/B8bN34gFzHRToNoYNsZgv1cFd2E0HjmNzKdSWw8N E19bQ8hXzON5Q05z9ozoBRte/PE9NWcxL9V31tvq2Ad52KGCzpMVC/2lG1DDYeUS5LJp A0VZzzonT2FquxBhcEFU0udd64rpos4PlIfNedVJynQFIJipoT7HI82X8Y9kQZHTi+oT G3qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=cn21z6lBPZuI15CN1Av/jLF6sToO05XyZ1FrrIoqbYA=; b=PLX+GkML0/4vMvSzp+HrYFzTe0kOtWVWQAWWM+A7wuBT/YUM3hwNqiQiFThSnoTdST 5Apov0ssqfflZa3pXGFjs4KYMNK7MP2vHYFA9hmbrl4/7/eXcBQSRt4rcKe55vHP0ld2 9rgTfcxMmzJM5/HIWICwQldTVvZ18UyPsBrRRTfLFYyOQjoa7vSN1OcNw7TfGF8VOCdL xqiP7LSgCA3Tv3Q9WE7p8ojs0XSTiKzvOOr6+zwAAh57JTfAhDepTDGePCABZtgDCYf1 cM1Rdcw05fjwe9rRor8STG9OZUuWL0ll7jrMz8yoTGtoDoJKtI/fxPpaibwuKS4A+ADG Huzw== X-Gm-Message-State: AO0yUKVaMPs7n3Tx1WBoImVKDJzcyrLBIbtPayQPwwJ8hBi7zuxRq3Rd j5oQubLKzcFfzKBiFl0XQGHVLaHIPAIcqboB7Q== X-Google-Smtp-Source: AK7set/hcCROtDynICy5TV0e1aEuKdrtsXr6LJR+PJSmPComj/JAmslWa6ftJvhui2e5STeLt6MoAg== X-Received: by 2002:a5d:6b83:0:b0:2c5:77de:426b with SMTP id n3-20020a5d6b83000000b002c577de426bmr3461385wrx.60.1676981044769; Tue, 21 Feb 2023 04:04:04 -0800 (PST) Received: from platypus.localdomain ([62.23.166.218]) by smtp.gmail.com with ESMTPSA id c15-20020adffb4f000000b002c55b0e6ef1sm5013811wrs.4.2023.02.21.04.04.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Feb 2023 04:04:04 -0800 (PST) From: arthur.cohen@embecosm.com To: gcc-patches@gcc.gnu.org Cc: gcc-rust@gcc.gnu.org, Philip Herron Subject: [committed 051/103] gccrs: Add missing name resolution to Function type-path segments Date: Tue, 21 Feb 2023 13:01:41 +0100 Message-Id: <20230221120230.596966-52-arthur.cohen@embecosm.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230221120230.596966-1-arthur.cohen@embecosm.com> References: <20230221120230.596966-1-arthur.cohen@embecosm.com> Reply-To: arthur.cohen@embecosm.com MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-14.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: From: Philip Herron gcc/rust/ChangeLog: * resolve/rust-ast-resolve-type.cc (ResolveRelativeTypePath::go): Add missing handling of function case. --- gcc/rust/resolve/rust-ast-resolve-type.cc | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gcc/rust/resolve/rust-ast-resolve-type.cc b/gcc/rust/resolve/rust-ast-resolve-type.cc index d227b8b539a..e5c712aba07 100644 --- a/gcc/rust/resolve/rust-ast-resolve-type.cc +++ b/gcc/rust/resolve/rust-ast-resolve-type.cc @@ -149,7 +149,20 @@ ResolveRelativeTypePath::go (AST::TypePath &path, NodeId &resolved_node_id) break; case AST::TypePathSegment::SegmentType::FUNCTION: - gcc_unreachable (); + AST::TypePathSegmentFunction *fnseg + = static_cast (segment.get ()); + + AST::TypePathFunction &fn = fnseg->get_type_path_function (); + for (auto ¶m : fn.get_params ()) + { + ResolveType::go (param.get ()); + } + + if (fn.has_return_type ()) + { + ResolveType::go (fn.get_return_type ().get ()); + } + break; } -- 2.39.1