diff options
| author | Marijn Haverbeke <marijnh@gmail.com> | 2012-02-23 17:44:03 +0100 |
|---|---|---|
| committer | Marijn Haverbeke <marijnh@gmail.com> | 2012-02-23 17:44:03 +0100 |
| commit | 8733386bcc3702b66d8eba633059b5349bc80741 (patch) | |
| tree | 15ef2af1f5aaea2406bb34622e0a89577def5569 /src/comp | |
| parent | 0f00d9a797953b2ec6a1cb4c0d7c2a3235fb3a42 (diff) | |
Make sure fold_ty preserves associated def_ids
Closes #1884
Diffstat (limited to 'src/comp')
| -rw-r--r-- | src/comp/middle/ty.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/comp/middle/ty.rs b/src/comp/middle/ty.rs index 6b0c6f5d1dc..a0189264446 100644 --- a/src/comp/middle/ty.rs +++ b/src/comp/middle/ty.rs @@ -607,6 +607,10 @@ fn fold_ty(cx: ctxt, fld: fold_mode, ty_0: t) -> t { cx.sess.fatal("Unsupported sort of type in fold_ty"); } } + alt tb.o_def_id { + some(did) { ty = mk_t_with_id(cx, get(ty).struct, some(did)); } + _ {} + } // If this is a general type fold, then we need to run it now. alt fld { fm_general(folder) { ret folder(ty); } _ { ret ty; } } |
