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
#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"
if (!can_resolve ())
return get_symbol ();
- return resolve ()->get_name ();
+ return destructure ()->get_name ();
}
bool