From b3c285fa25d0ae1c1d439fe5ff6c097b8bdbc8ad Mon Sep 17 00:00:00 2001 From: Austin Hicks Date: Tue, 22 Nov 2016 14:10:52 -0500 Subject: [PATCH] Fix checking to see if the last field of a struct can be unsized. --- src/librustc/ty/layout.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/librustc/ty/layout.rs b/src/librustc/ty/layout.rs index 6d7625bf15d4..0210b77dba06 100644 --- a/src/librustc/ty/layout.rs +++ b/src/librustc/ty/layout.rs @@ -1167,7 +1167,7 @@ impl<'a, 'gcx, 'tcx> Layout { let param_env = tcx.construct_parameter_environment(DUMMY_SP, def.did, ROOT_CODE_EXTENT); let fields = &def.variants[0].fields; let last_field = &fields[fields.len()-1]; - let always_sized = last_field.unsubst_ty().is_sized(tcx, ¶m_env, DUMMY_SP); + let always_sized = last_field.ty(tcx, param_env.free_substs).is_sized(tcx, ¶m_env, DUMMY_SP); if !always_sized { StructKind::MaybeUnsizedUnivariant } else { StructKind::AlwaysSizedUnivariant } };