introduce DynSend
and DynSync
auto trait
This commit is contained in:
parent
963e5c0eff
commit
b9746ce039
26 changed files with 558 additions and 115 deletions
|
@ -32,7 +32,7 @@ use emitter::{is_case_difference, Emitter, EmitterWriter};
|
|||
use registry::Registry;
|
||||
use rustc_data_structures::fx::{FxHashMap, FxHashSet, FxIndexMap, FxIndexSet};
|
||||
use rustc_data_structures::stable_hasher::{Hash128, StableHasher};
|
||||
use rustc_data_structures::sync::{self, Lock, Lrc};
|
||||
use rustc_data_structures::sync::{self, IntoDyn, Lock, Lrc};
|
||||
use rustc_data_structures::AtomicRef;
|
||||
pub use rustc_error_messages::{
|
||||
fallback_fluent_bundle, fluent_bundle, DelayDm, DiagnosticMessage, FluentBundle,
|
||||
|
@ -409,7 +409,7 @@ struct HandlerInner {
|
|||
err_count: usize,
|
||||
warn_count: usize,
|
||||
deduplicated_err_count: usize,
|
||||
emitter: Box<dyn Emitter + sync::Send>,
|
||||
emitter: IntoDyn<Box<dyn Emitter + sync::Send>>,
|
||||
delayed_span_bugs: Vec<DelayedDiagnostic>,
|
||||
delayed_good_path_bugs: Vec<DelayedDiagnostic>,
|
||||
/// This flag indicates that an expected diagnostic was emitted and suppressed.
|
||||
|
@ -605,7 +605,7 @@ impl Handler {
|
|||
warn_count: 0,
|
||||
deduplicated_err_count: 0,
|
||||
deduplicated_warn_count: 0,
|
||||
emitter,
|
||||
emitter: IntoDyn(emitter),
|
||||
delayed_span_bugs: Vec::new(),
|
||||
delayed_good_path_bugs: Vec::new(),
|
||||
suppressed_expected_diag: false,
|
||||
|
|
|
@ -2,7 +2,7 @@ use crate::error::{TranslateError, TranslateErrorKind};
|
|||
use crate::fluent_bundle::*;
|
||||
use crate::translation::Translate;
|
||||
use crate::FluentBundle;
|
||||
use rustc_data_structures::sync::Lrc;
|
||||
use rustc_data_structures::sync::{IntoDyn, Lrc};
|
||||
use rustc_error_messages::fluent_bundle::resolver::errors::{ReferenceKind, ResolverError};
|
||||
use rustc_error_messages::langid;
|
||||
use rustc_error_messages::DiagnosticMessage;
|
||||
|
@ -27,10 +27,12 @@ fn make_dummy(ftl: &'static str) -> Dummy {
|
|||
let langid_en = langid!("en-US");
|
||||
|
||||
#[cfg(parallel_compiler)]
|
||||
let mut bundle = FluentBundle::new_concurrent(vec![langid_en]);
|
||||
let mut bundle: FluentBundle =
|
||||
IntoDyn(crate::fluent_bundle::bundle::FluentBundle::new_concurrent(vec![langid_en]));
|
||||
|
||||
#[cfg(not(parallel_compiler))]
|
||||
let mut bundle = FluentBundle::new(vec![langid_en]);
|
||||
let mut bundle: FluentBundle =
|
||||
IntoDyn(crate::fluent_bundle::bundle::FluentBundle::new(vec![langid_en]));
|
||||
|
||||
bundle.add_resource(resource).expect("Failed to add FTL resources to the bundle.");
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue