Skip to content

Commit af4929c

Browse files
committed
Version gate the new trace! formatting
1 parent b72a287 commit af4929c

File tree

6 files changed

+53
-48
lines changed

6 files changed

+53
-48
lines changed

src/overflow.rs

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ use rustc_ast::{ast, ptr};
88
use rustc_span::Span;
99

1010
use crate::closures;
11-
use crate::config::lists::*;
1211
use crate::config::Version;
12+
use crate::config::{lists::*, Config};
1313
use crate::expr::{
1414
can_be_overflowed_expr, is_every_expr_simple, is_method_call, is_nested_call, is_simple_expr,
1515
rewrite_cond,
@@ -43,8 +43,7 @@ const SPECIAL_CASE_MACROS: &[(&str, usize)] = &[
4343
("println!", 0),
4444
("panic!", 0),
4545
("unreachable!", 0),
46-
// From the `log` crate.
47-
("trace!", 0),
46+
// From the `log` crate. trace! is added for v2 - see `special_cases` below
4847
("debug!", 0),
4948
("error!", 0),
5049
("info!", 0),
@@ -183,11 +182,17 @@ impl<'a> OverflowableItem<'a> {
183182
}
184183
}
185184

186-
fn special_cases(&self) -> &'static [(&'static str, usize)] {
185+
fn special_cases(&self, config: &Config) -> Vec<(&'static str, usize)> {
187186
match self {
188-
OverflowableItem::MacroArg(..) => SPECIAL_CASE_MACROS,
189-
OverflowableItem::NestedMetaItem(..) => SPECIAL_CASE_ATTR,
190-
_ => &[],
187+
OverflowableItem::MacroArg(..) => {
188+
let mut cases = SPECIAL_CASE_MACROS.to_vec();
189+
if config.version() == Version::Two {
190+
cases.push(("trace!", 0));
191+
}
192+
cases
193+
}
194+
OverflowableItem::NestedMetaItem(..) => SPECIAL_CASE_ATTR.to_vec(),
195+
_ => vec![],
191196
}
192197
}
193198
}
@@ -552,7 +557,7 @@ impl<'a> Context<'a> {
552557

553558
if tactic == DefinitiveListTactic::Vertical {
554559
if let Some((all_simple, num_args_before)) =
555-
maybe_get_args_offset(self.ident, &self.items)
560+
maybe_get_args_offset(self.ident, &self.items, &self.context.config)
556561
{
557562
let one_line = all_simple
558563
&& definitive_tactic(
@@ -772,10 +777,11 @@ fn no_long_items(list: &[ListItem], short_array_element_width_threshold: usize)
772777
pub(crate) fn maybe_get_args_offset(
773778
callee_str: &str,
774779
args: &[OverflowableItem<'_>],
780+
config: &Config,
775781
) -> Option<(bool, usize)> {
776782
if let Some(&(_, num_args_before)) = args
777783
.get(0)?
778-
.special_cases()
784+
.special_cases(config)
779785
.iter()
780786
.find(|&&(s, _)| s == callee_str)
781787
{

tests/source/issue-5987/two.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// rustfmt-version: Two
2+
3+
fn main() {
4+
trace!(
5+
"get some longer length in here yes yes {} {}",
6+
"hello",
7+
"world"
8+
);
9+
debug!(
10+
"get some longer length in here yes yes {} {}",
11+
"hello", "world"
12+
);
13+
}

tests/source/macros.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -270,10 +270,6 @@ fn special_case_macros() {
270270
debug!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
271271
debug!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26);
272272

273-
trace!("{}", 1);
274-
trace!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
275-
trace!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26);
276-
277273
error!("{}", 1);
278274
error!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
279275
error!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26);

tests/target/issue-5987/one.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// rustfmt-version: One
2+
3+
fn main() {
4+
trace!(
5+
"get some longer length in here yes yes {} {}",
6+
"hello",
7+
"world"
8+
);
9+
debug!(
10+
"get some longer length in here yes yes {} {}",
11+
"hello", "world"
12+
);
13+
}

tests/target/issue-5987/two.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// rustfmt-version: Two
2+
3+
fn main() {
4+
trace!(
5+
"get some longer length in here yes yes {} {}",
6+
"hello", "world"
7+
);
8+
debug!(
9+
"get some longer length in here yes yes {} {}",
10+
"hello", "world"
11+
);
12+
}

tests/target/macros.rs

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -570,41 +570,6 @@ fn special_case_macros() {
570570
26
571571
);
572572

573-
trace!("{}", 1);
574-
trace!(
575-
"{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}",
576-
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
577-
);
578-
trace!(
579-
"{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}",
580-
1,
581-
2,
582-
3,
583-
4,
584-
5,
585-
6,
586-
7,
587-
8,
588-
9,
589-
10,
590-
11,
591-
12,
592-
13,
593-
14,
594-
15,
595-
16,
596-
17,
597-
18,
598-
19,
599-
20,
600-
21,
601-
22,
602-
23,
603-
24,
604-
25,
605-
26
606-
);
607-
608573
error!("{}", 1);
609574
error!(
610575
"{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}",

0 commit comments

Comments
 (0)