}
});
- let Registry {
- syntax_exts,
- llvm_passes,
- attributes,
- ..
- } = registry;
-
+ let Registry { syntax_exts, llvm_passes, .. } = registry;
*sess.plugin_llvm_passes.borrow_mut() = llvm_passes;
- *sess.plugin_attributes.borrow_mut() = attributes;
Ok((krate, PluginInfo { syntax_exts }, Lrc::new(lint_store)))
}
let codegen_backend = compiler.codegen_backend().clone();
let crate_name = crate_name.to_string();
let defs = mem::take(&mut resolver_outputs.definitions);
+ let override_queries = compiler.override_queries;
let ((), result) = BoxedGlobalCtxt::new(static move || {
let sess = &*sess;
default_provide_extern(&mut extern_providers);
codegen_backend.provide_extern(&mut extern_providers);
+ if let Some(callback) = override_queries {
+ callback(sess, &mut local_providers, &mut extern_providers);
+ }
+
let gcx = TyCtxt::create_global_ctxt(
sess,
lint_store,
tcx.ensure().check_mod_loops(local_def_id);
tcx.ensure().check_mod_attrs(local_def_id);
tcx.ensure().check_mod_unstable_api_usage(local_def_id);
+ tcx.ensure().check_mod_const_bodies(local_def_id);
});
});
});