Skip to content

Commit

Permalink
Add invalid doc comment help message
Browse files Browse the repository at this point in the history
  • Loading branch information
GuillaumeGomez committed Oct 18, 2016
1 parent 16eeeac commit 93417fa
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 8 deletions.
16 changes: 10 additions & 6 deletions src/libsyntax/config.rs
Expand Up @@ -9,7 +9,7 @@
// except according to those terms.

use attr::HasAttrs;
use feature_gate::{emit_feature_err, EXPLAIN_STMT_ATTR_SYNTAX, Features, get_features, GateIssue};
use feature_gate::{feature_err, EXPLAIN_STMT_ATTR_SYNTAX, Features, get_features, GateIssue};
use {fold, attr};
use ast;
use codemap::{Spanned, respan};
Expand Down Expand Up @@ -157,11 +157,15 @@ impl<'a> StripUnconfigured<'a> {
// flag the offending attributes
for attr in attrs.iter() {
if !self.features.map(|features| features.stmt_expr_attributes).unwrap_or(true) {
emit_feature_err(&self.sess,
"stmt_expr_attributes",
attr.span,
GateIssue::Language,
EXPLAIN_STMT_ATTR_SYNTAX);
let mut err = feature_err(&self.sess,
"stmt_expr_attributes",
attr.span,
GateIssue::Language,
EXPLAIN_STMT_ATTR_SYNTAX);
if attr.node.is_sugared_doc {
err.help("`///` is for documentation comments. For a plain comment, use `//`.");
}
err.emit();
}
}
}
Expand Down
9 changes: 7 additions & 2 deletions src/libsyntax/feature_gate.rs
Expand Up @@ -30,7 +30,7 @@ use ast::{self, NodeId, PatKind};
use attr;
use codemap::{CodeMap, Spanned};
use syntax_pos::Span;
use errors::Handler;
use errors::{DiagnosticBuilder, Handler};
use visit::{self, FnKind, Visitor};
use parse::ParseSess;
use parse::token::InternedString;
Expand Down Expand Up @@ -792,6 +792,11 @@ pub enum GateIssue {

pub fn emit_feature_err(sess: &ParseSess, feature: &str, span: Span, issue: GateIssue,
explain: &str) {
feature_err(sess, feature, span, issue, explain).emit();
}

pub fn feature_err<'a>(sess: &'a ParseSess, feature: &str, span: Span, issue: GateIssue,
explain: &str) -> DiagnosticBuilder<'a> {
let diag = &sess.span_diagnostic;

let issue = match issue {
Expand All @@ -812,7 +817,7 @@ pub fn emit_feature_err(sess: &ParseSess, feature: &str, span: Span, issue: Gate
feature));
}

err.emit();
err
}

const EXPLAIN_BOX_SYNTAX: &'static str =
Expand Down

0 comments on commit 93417fa

Please sign in to comment.