Pre-intern some commonly used type variables.
This requires some rearrangement of plumbing, such as adding `mk_fresh_{,int_,float_}ty` and removing `mk_ty_infer`.
This commit is contained in:
parent
5b8f284536
commit
6248bbbf26
6 changed files with 80 additions and 31 deletions
|
@ -540,7 +540,7 @@ impl<'tcx> Printer<'tcx> for &mut SymbolMangler<'tcx> {
|
|||
match predicate.as_ref().skip_binder() {
|
||||
ty::ExistentialPredicate::Trait(trait_ref) => {
|
||||
// Use a type that can't appear in defaults of type parameters.
|
||||
let dummy_self = cx.tcx.mk_ty_infer(ty::FreshTy(0));
|
||||
let dummy_self = cx.tcx.mk_fresh_ty(0);
|
||||
let trait_ref = trait_ref.with_self_ty(cx.tcx, dummy_self);
|
||||
cx = cx.print_def_path(trait_ref.def_id, trait_ref.substs)?;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue