]> git.ipfire.org Git - thirdparty/gcc.git/commit
gccrs: Fix cast site to not miss type-unifications
authorPhilip Herron <herron.philip@googlemail.com>
Tue, 30 May 2023 16:16:30 +0000 (17:16 +0100)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 16 Jan 2024 17:37:22 +0000 (18:37 +0100)
commit1b34e40e5e41bdcb227b40523cd3a64c6f2fde00
treedc95df4c5494d97d41605aaad1d231fbc4e2a914
parent56e29f4d5de8134db5f7772adc13154f3efccf43
gccrs: Fix cast site to not miss type-unifications

When attempting casts we can try a type coercion first, this is a
TryCoercion which will return a result. In the event this is ok we need to
perform a true coercion so that we don't leave missing infeence variable's
ununified.

Fixes #2195

gcc/rust/ChangeLog:

* typecheck/rust-casts.cc (TypeCastRules::check): do coercion
(TypeCastRules::emit_cast_error): clang-format

gcc/testsuite/ChangeLog:

* rust/compile/issue-2195.rs: New test.

Signed-off-by: Philip Herron <herron.philip@googlemail.com>
gcc/rust/typecheck/rust-casts.cc
gcc/testsuite/rust/compile/issue-2195.rs [new file with mode: 0644]