From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1643) id 5B63F385C33A; Wed, 31 Aug 2022 13:57:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5B63F385C33A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1661954277; bh=X4RsDi+yY3HiSGSeAkuxgwq+YKTFwO0TmlW2UqgQyns=; h=From:To:Subject:Date:From; b=ayLW/d9uYGibqf7FN1R9yR/SuDy7kt3oqQp2yr3jNHOB+mvM94gEWRPU9PINlWur4 Cc3Z6oKvlaHj40Riv+u0Tb4pwTVVCZivFZ9UVCu/pnZzcNGzXUue3f0VB090aQz1qw q6ikXG2G6ZQoXeFnERLWwFLu1Kalco0xvKd+zZpE= 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] Merge #1517 X-Act-Checkin: gcc X-Git-Author: bors[bot] <26634292+bors[bot]@users.noreply.github.com> X-Git-Refname: refs/heads/devel/rust/master X-Git-Oldrev: ebb127f2aed32f21a37b31e8a5330defc6bfe5e7 X-Git-Newrev: 9b210f1c544ce4b0a4ff330c1e93d3ee83785484 Message-Id: <20220831135757.5B63F385C33A@sourceware.org> Date: Wed, 31 Aug 2022 13:57:57 +0000 (GMT) List-Id: https://gcc.gnu.org/g:9b210f1c544ce4b0a4ff330c1e93d3ee83785484 commit 9b210f1c544ce4b0a4ff330c1e93d3ee83785484 Merge: ebb127f2aed 5a0c27cb799 Author: bors[bot] <26634292+bors[bot]@users.noreply.github.com> Date: Wed Aug 31 12:50:21 2022 +0000 Merge #1517 1517: Refactor error handling on unify r=philberty a=philberty This is the first pass on a refactor for error handling on unify sites. Eventually we will be able to get rid of our can_eq interface but this is the first pass to abstract unify's to use this interface. Eventually, we will have unify and unify_and_commit. Unify will become our can_eq interface but will require more helpers around inference variables. Co-authored-by: Philip Herron Diff: gcc/rust/typecheck/rust-autoderef.cc | 15 +- gcc/rust/typecheck/rust-coercion.cc | 62 ++++- gcc/rust/typecheck/rust-hir-dot-operator.cc | 15 ++ gcc/rust/typecheck/rust-hir-trait-resolve.cc | 24 +- gcc/rust/typecheck/rust-hir-type-check-base.cc | 54 ++++- gcc/rust/typecheck/rust-hir-type-check-base.h | 14 +- gcc/rust/typecheck/rust-hir-type-check-enumitem.cc | 12 +- gcc/rust/typecheck/rust-hir-type-check-expr.cc | 174 ++++++++++---- gcc/rust/typecheck/rust-hir-type-check-expr.h | 2 +- gcc/rust/typecheck/rust-hir-type-check-implitem.cc | 17 +- gcc/rust/typecheck/rust-hir-type-check-item.cc | 11 +- gcc/rust/typecheck/rust-hir-type-check-path.cc | 5 +- gcc/rust/typecheck/rust-hir-type-check-pattern.cc | 4 +- gcc/rust/typecheck/rust-hir-type-check-stmt.cc | 39 ++- gcc/rust/typecheck/rust-hir-type-check-struct.cc | 41 +++- gcc/rust/typecheck/rust-hir-type-check-toplevel.cc | 24 +- gcc/rust/typecheck/rust-hir-type-check-type.cc | 8 +- gcc/rust/typecheck/rust-hir-type-check.cc | 12 +- gcc/rust/typecheck/rust-tyctx.cc | 3 + gcc/rust/typecheck/rust-tyty-call.cc | 46 +++- gcc/rust/typecheck/rust-tyty-cmp.h | 4 +- gcc/rust/typecheck/rust-tyty-rules.h | 264 ++------------------- gcc/rust/typecheck/rust-tyty.cc | 66 +++++- gcc/rust/typecheck/rust-tyty.h | 47 +--- gcc/testsuite/rust/compile/issue-1152.rs | 2 - gcc/testsuite/rust/compile/tuple1.rs | 2 +- gcc/testsuite/rust/compile/type-alias1.rs | 2 +- .../rust/execute/torture/operator_overload_9.rs | 2 +- gcc/testsuite/rust/execute/torture/slice1.rs | 7 +- 29 files changed, 571 insertions(+), 407 deletions(-)