// Upcast to the trait in question and extract out the substitutions.
let upcast_trait_ref = traits::upcast(ccx.tcx(), object_trait_ref.clone(), trait_id).unwrap();
- let object_substs = upcast_trait_ref.substs().clone().erase_regions();
+ let upcast_trait_ref = ty::erase_late_bound_regions(tcx, &upcast_trait_ref);
+ let object_substs = upcast_trait_ref.substs.clone().erase_regions();
debug!("trans_object_shim: object_substs={}", object_substs.repr(tcx));
- // Lookup the type of this method as deeclared in the trait and apply substitutions.
+ // Lookup the type of this method as declared in the trait and apply substitutions.
let method_ty = match ty::trait_item(tcx, trait_id, method_offset_in_trait) {
ty::MethodTraitItem(method) => method,
ty::TypeTraitItem(_) => {
use sys::thread as imp;
use sys_common::{stack, thread_info};
- /// Thread configuation. Provides detailed control over the properties
+ /// Thread configuration. Provides detailed control over the properties
/// and behavior of new threads.
+#[stable]
pub struct Builder {
// A name for the thread-to-be, for identification in panic messages
name: Option<String>,