|
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