add the version gate to the code and test
This commit is contained in:
parent
7b996542cc
commit
f92f3e3bda
24
src/items.rs
24
src/items.rs
@ -24,7 +24,7 @@ use comment::{
|
||||
combine_strs_with_missing_comments, contains_comment, recover_comment_removed,
|
||||
recover_missing_comment_in_span, rewrite_missing_comment, FindUncommented,
|
||||
};
|
||||
use config::{BraceStyle, Config, Density, IndentStyle};
|
||||
use config::{BraceStyle, Config, Density, IndentStyle, Version};
|
||||
use expr::{
|
||||
format_expr, is_empty_block, is_simple_block_stmt, rewrite_assign_rhs, rewrite_assign_rhs_with,
|
||||
ExprType, RhsTactics,
|
||||
@ -2085,11 +2085,18 @@ fn rewrite_fn_base(
|
||||
.lines()
|
||||
.last()
|
||||
.map_or(false, |last_line| last_line.contains("//"));
|
||||
result.push(')');
|
||||
|
||||
if closing_paren_overflow_max_width || args_last_line_contains_comment {
|
||||
result.push_str(&indent.to_string_with_newline(context.config));
|
||||
no_args_and_over_max_width = true;
|
||||
if context.config.version() == Version::Two {
|
||||
result.push(')');
|
||||
if closing_paren_overflow_max_width || args_last_line_contains_comment {
|
||||
result.push_str(&indent.to_string_with_newline(context.config));
|
||||
no_args_and_over_max_width = true;
|
||||
}
|
||||
} else {
|
||||
if closing_paren_overflow_max_width || args_last_line_contains_comment {
|
||||
result.push_str(&indent.to_string_with_newline(context.config));
|
||||
}
|
||||
result.push(')');
|
||||
}
|
||||
}
|
||||
|
||||
@ -2130,9 +2137,14 @@ fn rewrite_fn_base(
|
||||
result.push_str(&indent.to_string_with_newline(context.config));
|
||||
indent
|
||||
} else {
|
||||
if arg_str.len() != 0 || !no_args_and_over_max_width {
|
||||
if context.config.version() == Version::Two {
|
||||
if arg_str.len() != 0 || !no_args_and_over_max_width {
|
||||
result.push(' ');
|
||||
}
|
||||
} else {
|
||||
result.push(' ');
|
||||
}
|
||||
|
||||
Indent::new(indent.block_indent, last_line_width(&result))
|
||||
};
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
pub fn parse_conditional<'a, I: 'a>() -> impl Parser<Input = I, Output = Expr, PartialState = ()> + 'a
|
||||
where I: Stream<Item = char>
|
||||
{}
|
8
tests/source/issue-3278/version_one.rs
Normal file
8
tests/source/issue-3278/version_one.rs
Normal file
@ -0,0 +1,8 @@
|
||||
// rustfmt-version: One
|
||||
|
||||
pub fn parse_conditional<'a, I: 'a>(
|
||||
) -> impl Parser<Input = I, Output = Expr, PartialState = ()> + 'a
|
||||
where
|
||||
I: Stream<Item = char>,
|
||||
{
|
||||
}
|
@ -1,3 +1,5 @@
|
||||
// rustfmt-version: Two
|
||||
|
||||
pub fn parse_conditional<'a, I: 'a>()
|
||||
-> impl Parser<Input = I, Output = Expr, PartialState = ()> + 'a
|
||||
where
|
@ -1,3 +1,4 @@
|
||||
// rustfmt-version: One
|
||||
// Tests that a function which is almost short enough, but not quite, gets
|
||||
// formatted correctly.
|
||||
|
21
tests/source/long-fn-1/version_two.rs
Normal file
21
tests/source/long-fn-1/version_two.rs
Normal file
@ -0,0 +1,21 @@
|
||||
// rustfmt-version: Two
|
||||
// Tests that a function which is almost short enough, but not quite, gets
|
||||
// formatted correctly.
|
||||
|
||||
impl Foo {
|
||||
fn some_input(&mut self, input: Input, input_path: Option<PathBuf>, ) -> (Input, Option<PathBuf>) {}
|
||||
|
||||
fn some_inpu(&mut self, input: Input, input_path: Option<PathBuf>) -> (Input, Option<PathBuf>) {}
|
||||
}
|
||||
|
||||
// #1843
|
||||
#[allow(non_snake_case)]
|
||||
pub extern "C" fn Java_com_exonum_binding_storage_indices_ValueSetIndexProxy_nativeContainsByHash() -> bool {
|
||||
false
|
||||
}
|
||||
|
||||
// #3009
|
||||
impl Something {
|
||||
fn my_function_name_is_way_to_long_but_used_as_a_case_study_or_an_example_its_fine(
|
||||
) -> Result< (), String > {}
|
||||
}
|
8
tests/target/issue-3278/version_one.rs
Normal file
8
tests/target/issue-3278/version_one.rs
Normal file
@ -0,0 +1,8 @@
|
||||
// rustfmt-version: One
|
||||
|
||||
pub fn parse_conditional<'a, I: 'a>(
|
||||
) -> impl Parser<Input = I, Output = Expr, PartialState = ()> + 'a
|
||||
where
|
||||
I: Stream<Item = char>,
|
||||
{
|
||||
}
|
8
tests/target/issue-3278/version_two.rs
Normal file
8
tests/target/issue-3278/version_two.rs
Normal file
@ -0,0 +1,8 @@
|
||||
// rustfmt-version: Two
|
||||
|
||||
pub fn parse_conditional<'a, I: 'a>()
|
||||
-> impl Parser<Input = I, Output = Expr, PartialState = ()> + 'a
|
||||
where
|
||||
I: Stream<Item = char>,
|
||||
{
|
||||
}
|
29
tests/target/long-fn-1/version_one.rs
Normal file
29
tests/target/long-fn-1/version_one.rs
Normal file
@ -0,0 +1,29 @@
|
||||
// rustfmt-version: One
|
||||
// Tests that a function which is almost short enough, but not quite, gets
|
||||
// formatted correctly.
|
||||
|
||||
impl Foo {
|
||||
fn some_input(
|
||||
&mut self,
|
||||
input: Input,
|
||||
input_path: Option<PathBuf>,
|
||||
) -> (Input, Option<PathBuf>) {
|
||||
}
|
||||
|
||||
fn some_inpu(&mut self, input: Input, input_path: Option<PathBuf>) -> (Input, Option<PathBuf>) {
|
||||
}
|
||||
}
|
||||
|
||||
// #1843
|
||||
#[allow(non_snake_case)]
|
||||
pub extern "C" fn Java_com_exonum_binding_storage_indices_ValueSetIndexProxy_nativeContainsByHash(
|
||||
) -> bool {
|
||||
false
|
||||
}
|
||||
|
||||
// #3009
|
||||
impl Something {
|
||||
fn my_function_name_is_way_to_long_but_used_as_a_case_study_or_an_example_its_fine(
|
||||
) -> Result<(), String> {
|
||||
}
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
// rustfmt-version: Two
|
||||
// Tests that a function which is almost short enough, but not quite, gets
|
||||
// formatted correctly.
|
||||
|
Loading…
x
Reference in New Issue
Block a user