fn remove_newline(edit: &mut TextEditBuilder, token: &SyntaxToken, offset: TextSize) {
if token.kind() != WHITESPACE || token.text().bytes().filter(|&b| b == b'\n').count() != 1 {
- let mut no_space = false;
- if let Some(string) = ast::String::cast(token.clone()) {
- if let Some(range) = string.open_quote_text_range() {
- cov_mark::hit!(join_string_literal_open_quote);
- no_space |= range.end() == offset;
- }
- if let Some(range) = string.close_quote_text_range() {
- cov_mark::hit!(join_string_literal_close_quote);
- no_space |= range.start() == offset + TextSize::of('\n');
- }
- }
-
let n_spaces_after_line_break = {
let suff = &token.text()[TextRange::new(
offset - token.text_range().start() + TextSize::of('\n'),
fn replace_impl_trait_with_generic_params() {
check_assist(
replace_impl_trait_with_generic,
- r#"
- fn foo<G>(bar: $0impl Bar) {}
- "#,
- r#"
- fn foo<G, B: Bar>(bar: B) {}
- "#,
+ r#"fn foo<G>(bar: $0impl Bar) {}"#,
+ r#"fn foo<G, B: Bar>(bar: B) {}"#,
);
}
fn replace_impl_trait_without_generic_params() {
check_assist(
replace_impl_trait_with_generic,
- r#"
- fn foo(bar: $0impl Bar) {}
- "#,
- r#"
- fn foo<B: Bar>(bar: B) {}
- "#,
+ r#"fn foo(bar: $0impl Bar) {}"#,
+ r#"fn foo<B: Bar>(bar: B) {}"#,
);
}
fn replace_two_impl_trait_with_generic_params() {
check_assist(
replace_impl_trait_with_generic,
- r#"
- fn foo<G>(foo: impl Foo, bar: $0impl Bar) {}
- "#,
- r#"
- fn foo<G, B: Bar>(foo: impl Foo, bar: B) {}
- "#,
+ r#"fn foo<G>(foo: impl Foo, bar: $0impl Bar) {}"#,
+ r#"fn foo<G, B: Bar>(foo: impl Foo, bar: B) {}"#,
);
}
fn replace_impl_trait_with_empty_generic_params() {
check_assist(
replace_impl_trait_with_generic,
- r#"
- fn foo<>(bar: $0impl Bar) {}
- "#,
- r#"
- fn foo<B: Bar>(bar: B) {}
- "#,
+ r#"fn foo<>(bar: $0impl Bar) {}"#,
+ r#"fn foo<B: Bar>(bar: B) {}"#,
);
}
check_assist(
replace_impl_trait_with_generic,
r#"
- fn foo<
- >(bar: $0impl Bar) {}
- "#,
+fn foo<
+>(bar: $0impl Bar) {}
+"#,
r#"
- fn foo<B: Bar
- >(bar: B) {}
- "#,
+fn foo<B: Bar
+>(bar: B) {}
+"#,
);
}
fn replace_impl_trait_with_exist_generic_letter() {
check_assist(
replace_impl_trait_with_generic,
- r#"
- fn foo<B>(bar: $0impl Bar) {}
- "#,
- r#"
- fn foo<B, C: Bar>(bar: C) {}
- "#,
+ r#"fn foo<B>(bar: $0impl Bar) {}"#,
+ r#"fn foo<B, C: Bar>(bar: C) {}"#,
);
}
check_assist(
replace_impl_trait_with_generic,
r#"
- fn foo<
- G: Foo,
- F,
- H,
- >(bar: $0impl Bar) {}
- "#,
- r#"
- fn foo<
- G: Foo,
- F,
- H, B: Bar
- >(bar: B) {}
- "#,
+fn foo<
+ G: Foo,
+ F,
+ H,
+>(bar: $0impl Bar) {}
+"#,
+ r#"
+fn foo<
+ G: Foo,
+ F,
+ H, B: Bar
+>(bar: B) {}
+"#,
);
}
fn replace_impl_trait_multiple() {
check_assist(
replace_impl_trait_with_generic,
- r#"
- fn foo(bar: $0impl Foo + Bar) {}
- "#,
- r#"
- fn foo<F: Foo + Bar>(bar: F) {}
- "#,
+ r#"fn foo(bar: $0impl Foo + Bar) {}"#,
+ r#"fn foo<F: Foo + Bar>(bar: F) {}"#,
);
}
}