Skip to content

Commit 61aa398

Browse files
committed
Don't actually erase query values
1 parent 81db5a3 commit 61aa398

2 files changed

Lines changed: 8 additions & 390 deletions

File tree

compiler/rustc_errors/src/decorate_diag.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
/// This module provides types and traits for buffering lints until later in compilation.
22
use rustc_ast::node_id::NodeId;
33
use rustc_data_structures::fx::FxIndexMap;
4+
use rustc_data_structures::sync::{DynSend, DynSync};
45
use rustc_error_messages::MultiSpan;
56
use rustc_lint_defs::{BuiltinLintDiag, Lint, LintId};
67

7-
use crate::{DynSend, LintDiagnostic, LintDiagnosticBox};
8+
use crate::{LintDiagnostic, LintDiagnosticBox};
89

910
/// We can't implement `LintDiagnostic` for `BuiltinLintDiag`, because decorating some of its
1011
/// variants requires types we don't have yet. So, handle that case separately.
1112
pub enum DecorateDiagCompat {
12-
Dynamic(Box<dyn for<'a> LintDiagnosticBox<'a, ()> + DynSend + 'static>),
13+
Dynamic(Box<dyn for<'a> LintDiagnosticBox<'a, ()> + DynSend + DynSync + 'static>),
1314
Builtin(BuiltinLintDiag),
1415
}
1516

@@ -21,7 +22,9 @@ impl std::fmt::Debug for DecorateDiagCompat {
2122

2223
impl !LintDiagnostic<'_, ()> for BuiltinLintDiag {}
2324

24-
impl<D: for<'a> LintDiagnostic<'a, ()> + DynSend + 'static> From<D> for DecorateDiagCompat {
25+
impl<D: for<'a> LintDiagnostic<'a, ()> + DynSend + DynSync + 'static> From<D>
26+
for DecorateDiagCompat
27+
{
2528
#[inline]
2629
fn from(d: D) -> Self {
2730
Self::Dynamic(Box::new(d))

0 commit comments

Comments
 (0)