diff options
Diffstat (limited to 'src/librustc/metadata/tyencode.rs')
| -rw-r--r-- | src/librustc/metadata/tyencode.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/librustc/metadata/tyencode.rs b/src/librustc/metadata/tyencode.rs index 640b9649286..e1e9d49dd05 100644 --- a/src/librustc/metadata/tyencode.rs +++ b/src/librustc/metadata/tyencode.rs @@ -414,6 +414,21 @@ pub fn enc_type_param_def<'a, 'tcx>(w: &mut SeekableMemWriter, cx: &ctxt<'a, 'tc v.space.to_uint(), v.index); enc_bounds(w, cx, &v.bounds); enc_opt(w, v.default, |w, t| enc_ty(w, cx, t)); + enc_object_lifetime_default(w, cx, v.object_lifetime_default); +} + +fn enc_object_lifetime_default<'a, 'tcx>(w: &mut SeekableMemWriter, + cx: &ctxt<'a, 'tcx>, + default: Option<ty::ObjectLifetimeDefault>) +{ + match default { + None => mywrite!(w, "n"), + Some(ty::ObjectLifetimeDefault::Ambiguous) => mywrite!(w, "a"), + Some(ty::ObjectLifetimeDefault::Specific(r)) => { + mywrite!(w, "s"); + enc_region(w, cx, r); + } + } } pub fn enc_predicate<'a, 'tcx>(w: &mut SeekableMemWriter, |
