diff options
| author | Esteban Kuber <esteban@kuber.com.ar> | 2021-11-24 17:11:15 +0000 |
|---|---|---|
| committer | Esteban Kuber <esteban@kuber.com.ar> | 2021-11-24 20:02:16 +0000 |
| commit | f99469d7c446e95da1e41ecb224abf6721e2f599 (patch) | |
| tree | 8af6d63e70d7f7af24b4b5f8dab51c79984c1435 | |
| parent | f99e3582bd9838a36883a73380b1d0315cda76e8 (diff) | |
| download | rust-f99469d7c446e95da1e41ecb224abf6721e2f599.tar.gz rust-f99469d7c446e95da1e41ecb224abf6721e2f599.zip | |
Change how the fn params span is calculated
Use the available Generics span field to avoid issues with `T: Fn()` bounds. This is necessary to land #85346.
| -rw-r--r-- | src/items.rs | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/src/items.rs b/src/items.rs index 50121a8b6b5..acc91f861e4 100644 --- a/src/items.rs +++ b/src/items.rs @@ -2236,18 +2236,10 @@ fn rewrite_fn_base( result.push_str(¶m_indent.to_string_with_newline(context.config)); } - // Skip `pub(crate)`. - let lo_after_visibility = get_bytepos_after_visibility(fn_sig.visibility, span); - // A conservative estimation, the goal is to be over all parens in generics - let params_start = fn_sig - .generics - .params - .last() - .map_or(lo_after_visibility, |param| param.span().hi()); let params_end = if fd.inputs.is_empty() { context .snippet_provider - .span_after(mk_sp(params_start, span.hi()), ")") + .span_after(mk_sp(fn_sig.generics.span.hi(), span.hi()), ")") } else { let last_span = mk_sp(fd.inputs[fd.inputs.len() - 1].span().hi(), span.hi()); context.snippet_provider.span_after(last_span, ")") @@ -2255,7 +2247,7 @@ fn rewrite_fn_base( let params_span = mk_sp( context .snippet_provider - .span_after(mk_sp(params_start, span.hi()), "("), + .span_after(mk_sp(fn_sig.generics.span.hi(), span.hi()), "("), params_end, ); let param_str = rewrite_params( |
