mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-28 02:57:37 +00:00
Handle #![rustfmt_skip]
in block statements
This commit is contained in:
parent
108e2cd776
commit
1853d02ea9
@ -150,8 +150,17 @@ impl<'a> FmtVisitor<'a> {
|
||||
}
|
||||
|
||||
// Format inner attributes if available.
|
||||
if let Some(attrs) = inner_attrs {
|
||||
self.visit_attrs(attrs, ast::AttrStyle::Inner);
|
||||
let skip_rewrite = if let Some(attrs) = inner_attrs {
|
||||
self.visit_attrs(attrs, ast::AttrStyle::Inner)
|
||||
} else {
|
||||
false
|
||||
};
|
||||
|
||||
if skip_rewrite {
|
||||
self.push_rewrite(b.span, None);
|
||||
self.close_block(false);
|
||||
self.last_pos = source!(self, b.span).hi();
|
||||
return;
|
||||
}
|
||||
|
||||
self.walk_block_stmts(b);
|
||||
|
@ -1,73 +0,0 @@
|
||||
// Test the skip attribute works
|
||||
|
||||
#[rustfmt_skip]
|
||||
fn foo() { badly; formatted; stuff
|
||||
; }
|
||||
|
||||
#[rustfmt_skip]
|
||||
trait Foo
|
||||
{
|
||||
fn foo(
|
||||
);
|
||||
}
|
||||
|
||||
impl LateLintPass for UsedUnderscoreBinding {
|
||||
#[cfg_attr(rustfmt, rustfmt_skip)]
|
||||
fn check_expr() { // comment
|
||||
}
|
||||
}
|
||||
|
||||
fn issue1346() {
|
||||
#[cfg_attr(rustfmt, rustfmt_skip)]
|
||||
Box::new(self.inner.call(req).then(move |result| {
|
||||
match result {
|
||||
Ok(resp) => Box::new(future::done(Ok(resp))),
|
||||
Err(e) => {
|
||||
try_error!(clo_stderr, "{}", e);
|
||||
Box::new(future::err(e))
|
||||
}
|
||||
}
|
||||
}))
|
||||
}
|
||||
|
||||
fn skip_on_statements() {
|
||||
// Semi
|
||||
#[cfg_attr(rustfmt, rustfmt_skip)]
|
||||
foo(
|
||||
1, 2, 3, 4,
|
||||
1, 2,
|
||||
1, 2, 3,
|
||||
);
|
||||
|
||||
// Local
|
||||
#[cfg_attr(rustfmt, rustfmt_skip)]
|
||||
let x = foo( a, b , c);
|
||||
|
||||
// Item
|
||||
#[cfg_attr(rustfmt, rustfmt_skip)]
|
||||
use foobar ;
|
||||
|
||||
// Mac
|
||||
#[cfg_attr(rustfmt, rustfmt_skip)]
|
||||
vec![
|
||||
1, 2, 3, 4,
|
||||
1, 2, 3, 4,
|
||||
1, 2, 3, 4,
|
||||
1, 2, 3,
|
||||
1,
|
||||
1, 2,
|
||||
1,
|
||||
];
|
||||
|
||||
// Expr
|
||||
#[cfg_attr(rustfmt, rustfmt_skip)]
|
||||
foo( a, b , c)
|
||||
}
|
||||
|
||||
// Check that the skip attribute applies to other attributes.
|
||||
#[rustfmt_skip]
|
||||
#[cfg
|
||||
( a , b
|
||||
)]
|
||||
fn
|
||||
main() {}
|
@ -31,6 +31,20 @@ fn issue1346() {
|
||||
}
|
||||
|
||||
fn skip_on_statements() {
|
||||
// Outside block
|
||||
#[rustfmt_skip]
|
||||
{
|
||||
foo; bar;
|
||||
// junk
|
||||
}
|
||||
|
||||
{
|
||||
// Inside block
|
||||
#![rustfmt_skip]
|
||||
foo; bar;
|
||||
// junk
|
||||
}
|
||||
|
||||
// Semi
|
||||
#[cfg_attr(rustfmt, rustfmt_skip)]
|
||||
foo(
|
||||
|
Loading…
Reference in New Issue
Block a user