|
31 | 31 | //! in the HIR, especially for multiple identifiers.
|
32 | 32 |
|
33 | 33 | use dep_graph::DepGraph;
|
| 34 | +use errors::Applicability; |
34 | 35 | use hir::{self, ParamName};
|
35 | 36 | use hir::HirVec;
|
36 | 37 | use hir::map::{DefKey, DefPathData, Definitions};
|
@@ -1823,9 +1824,17 @@ impl<'a> LoweringContext<'a> {
|
1823 | 1824 | (hir::GenericArgs::none(), true)
|
1824 | 1825 | }
|
1825 | 1826 | ParenthesizedGenericArgs::Err => {
|
1826 |
| - struct_span_err!(self.sess, data.span, E0214, "{}", msg) |
1827 |
| - .span_label(data.span, "only traits may use parentheses") |
1828 |
| - .emit(); |
| 1827 | + let mut err = struct_span_err!(self.sess, data.span, E0214, "{}", msg); |
| 1828 | + err.span_label(data.span, "only traits may use parentheses"); |
| 1829 | + if let Ok(snippet) = self.sess.source_map().span_to_snippet(data.span) { |
| 1830 | + err.span_suggestion_with_applicability( |
| 1831 | + data.span, |
| 1832 | + "use angle brackets instead", |
| 1833 | + format!("<{}>", &snippet[1..snippet.len() - 1]), |
| 1834 | + Applicability::MaybeIncorrect, |
| 1835 | + ); |
| 1836 | + }; |
| 1837 | + err.emit(); |
1829 | 1838 | (self.lower_angle_bracketed_parameter_data(
|
1830 | 1839 | &data.as_angle_bracketed_args(),
|
1831 | 1840 | param_mode,
|
|
0 commit comments