@@ -403,14 +403,15 @@ pub struct CompileController<'a> {
403403
404404 /// Allows overriding default rustc query providers,
405405 /// after `default_provide` has installed them.
406- pub provide : Box < dyn Fn ( & mut ty:: query:: Providers ) + ' a > ,
406+ pub provide : Box < dyn Fn ( & mut ty:: query:: Providers ) + ' a + sync :: Send > ,
407407 /// Same as `provide`, but only for non-local crates,
408408 /// applied after `default_provide_extern`.
409- pub provide_extern : Box < dyn Fn ( & mut ty:: query:: Providers ) + ' a > ,
409+ pub provide_extern : Box < dyn Fn ( & mut ty:: query:: Providers ) + ' a + sync :: Send > ,
410410}
411411
412412impl < ' a > CompileController < ' a > {
413413 pub fn basic ( ) -> CompileController < ' a > {
414+ sync:: assert_send :: < Self > ( ) ;
414415 CompileController {
415416 after_parse : PhaseController :: basic ( ) ,
416417 after_expand : PhaseController :: basic ( ) ,
@@ -500,7 +501,7 @@ pub struct PhaseController<'a> {
500501 // If true then the compiler will try to run the callback even if the phase
501502 // ends with an error. Note that this is not always possible.
502503 pub run_callback_on_error : bool ,
503- pub callback : Box < dyn Fn ( & mut CompileState ) + ' a > ,
504+ pub callback : Box < dyn Fn ( & mut CompileState ) + ' a + sync :: Send > ,
504505}
505506
506507impl < ' a > PhaseController < ' a > {
0 commit comments