add the version gate to the code and test

This commit is contained in:
rchaser53 2019-01-27 14:33:03 +09:00
parent 7b996542cc
commit f92f3e3bda
10 changed files with 96 additions and 9 deletions

View file

@ -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,12 +2085,19 @@ fn rewrite_fn_base(
.lines()
.last()
.map_or(false, |last_line| last_line.contains("//"));
result.push(')');
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(')');
}
}
// Return type.
@ -2130,9 +2137,14 @@ fn rewrite_fn_base(
result.push_str(&indent.to_string_with_newline(context.config));
indent
} else {
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))
};

View file

@ -1,3 +0,0 @@
pub fn parse_conditional<'a, I: 'a>() -> impl Parser<Input = I, Output = Expr, PartialState = ()> + 'a
where I: Stream<Item = char>
{}

View 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>,
{
}

View file

@ -1,3 +1,5 @@
// rustfmt-version: Two
pub fn parse_conditional<'a, I: 'a>()
-> impl Parser<Input = I, Output = Expr, PartialState = ()> + 'a
where

View file

@ -1,3 +1,4 @@
// rustfmt-version: One
// Tests that a function which is almost short enough, but not quite, gets
// formatted correctly.

View 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 > {}
}

View 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>,
{
}

View 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>,
{
}

View 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> {
}
}

View file

@ -1,3 +1,4 @@
// rustfmt-version: Two
// Tests that a function which is almost short enough, but not quite, gets
// formatted correctly.