From: Philip Herron <philip.her...@embecosm.com>

Fixes #1518

gcc/rust/ChangeLog:

        * typecheck/rust-tyty.h: Fix `is_concrete` for unit types with
        substitutions.

Tested on x86_64-pc-linux-gnu, committed on master.

---
 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 24efc7aa54c..43460d2dd2f 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 ())
-- 
2.39.1

Reply via email to