]> git.ipfire.org Git - thirdparty/gcc.git/commit
gccrs: reuse an error mark node instead of new ones each failure
authorPhilip Herron <herron.philip@googlemail.com>
Fri, 29 Aug 2025 16:48:39 +0000 (17:48 +0100)
committerArthur Cohen <arthur.cohen@embecosm.com>
Thu, 30 Oct 2025 19:58:58 +0000 (20:58 +0100)
commitc164534d43d0c4bea0838a249c3f7ad837b8ed61
tree5305431f7ac34ba1bdc8c72a02bc67fc8766d421
parentc33c14446fb9baacc50e8a980e8938fcfb8ac6f4
gccrs: reuse an error mark node instead of new ones each failure

During unification we denote failures using a new error mark node. This
keeps a static one and reuses it instead.

gcc/rust/ChangeLog:

* typecheck/rust-unify.cc (unify_error_type_node): new static node
(UnifyRules::go): likewise
(UnifyRules::expect_inference_variable): likewise
(UnifyRules::expect_adt): likewise
(UnifyRules::expect_str): likewise
(UnifyRules::expect_reference): likewise
(UnifyRules::expect_pointer): likewise
(UnifyRules::expect_param): likewise
(UnifyRules::expect_array): likewise
(UnifyRules::expect_slice): likewise
(UnifyRules::expect_fndef): likewise
(UnifyRules::expect_fnptr): likewise
(UnifyRules::expect_tuple): likewise
(UnifyRules::expect_bool): likewise
(UnifyRules::expect_char): likewise
(UnifyRules::expect_int): likewise
(UnifyRules::expect_uint): likewise
(UnifyRules::expect_float): likewise
(UnifyRules::expect_isize): likewise
(UnifyRules::expect_usize): likewise
(UnifyRules::expect_never): likewise
(UnifyRules::expect_placeholder): likewise
(UnifyRules::expect_projection): likewise
(UnifyRules::expect_dyn): likewise
(UnifyRules::expect_closure): likewise
(UnifyRules::expect_opaque): likewise
(UnifyRules::expect_const): likewise

Signed-off-by: Philip Herron <herron.philip@googlemail.com>
gcc/rust/typecheck/rust-unify.cc