diff options
Diffstat (limited to 'compiler/rustc_trait_selection/src/traits/on_unimplemented.rs')
| -rw-r--r-- | compiler/rustc_trait_selection/src/traits/on_unimplemented.rs | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/on_unimplemented.rs b/compiler/rustc_trait_selection/src/traits/on_unimplemented.rs index 7d418198195..ed7d16f7a54 100644 --- a/compiler/rustc_trait_selection/src/traits/on_unimplemented.rs +++ b/compiler/rustc_trait_selection/src/traits/on_unimplemented.rs @@ -89,8 +89,8 @@ impl<'tcx> OnUnimplementedDirective { None, ) })?; - attr::eval_condition(cond, &tcx.sess.parse_sess, Some(tcx.features()), &mut |item| { - if let Some(symbol) = item.value_str() && let Err(guar) = parse_value(symbol) { + attr::eval_condition(cond, &tcx.sess.parse_sess, Some(tcx.features()), &mut |cfg| { + if let Some(value) = cfg.value && let Err(guar) = parse_value(value) { errored = Some(guar); } true @@ -226,14 +226,12 @@ impl<'tcx> OnUnimplementedDirective { condition, &tcx.sess.parse_sess, Some(tcx.features()), - &mut |c| { - c.ident().map_or(false, |ident| { - let value = c.value_str().map(|s| { - OnUnimplementedFormatString(s).format(tcx, trait_ref, &options_map) - }); + &mut |cfg| { + let value = cfg.value.map(|v| { + OnUnimplementedFormatString(v).format(tcx, trait_ref, &options_map) + }); - options.contains(&(ident.name, value)) - }) + options.contains(&(cfg.name, value)) }, ) { debug!("evaluate: skipping {:?} due to condition", command); |
