diff options
author | Philip Herron <herron.philip@googlemail.com> | 2023-03-03 16:12:46 +0000 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-01-16 18:19:03 +0100 |
commit | 3df5ed955d338231ec896462b658283c46d31c60 (patch) | |
tree | e13f1e4d016065d65678bc074b49c4f899f21c64 /gcc | |
parent | 312a861d86147327725abae14fd46f2074b0dcf6 (diff) | |
download | gcc-3df5ed955d338231ec896462b658283c46d31c60.zip gcc-3df5ed955d338231ec896462b658283c46d31c60.tar.gz gcc-3df5ed955d338231ec896462b658283c46d31c60.tar.bz2 |
gccrs: destructure parameter names.
When we have complex generic code you can end up with situations where we
compile types:
Maybe<<S as Foo>::A>
Into
Maybe<<placeholder:<Projection=::()>>>
This calls destructure to cleanup the naming here and avoid making non
canonical TREE_TYPES hitting the verify_gimple code triggering non-trival
constructors.
Signed-off-by: Philip Herron <herron.philip@googlemail.com>
gcc/rust/ChangeLog:
* typecheck/rust-tyty.cc (ParamType::get_name): call destructure
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/typecheck/rust-tyty.cc | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/rust/typecheck/rust-tyty.cc b/gcc/rust/typecheck/rust-tyty.cc index 219068e..217e82a 100644 --- a/gcc/rust/typecheck/rust-tyty.cc +++ b/gcc/rust/typecheck/rust-tyty.cc @@ -18,10 +18,7 @@ #include "rust-tyty.h" -#include "rust-hir-type-check-expr.h" -#include "rust-hir-type-check-type.h" #include "rust-tyty-visitor.h" -#include "rust-tyty-call.h" #include "rust-hir-map.h" #include "rust-location.h" #include "rust-linemap.h" @@ -2961,7 +2958,7 @@ ParamType::get_name () const if (!can_resolve ()) return get_symbol (); - return resolve ()->get_name (); + return destructure ()->get_name (); } bool |