@@ -1883,80 +1883,12 @@ pub(crate) fn rewrite_assign_rhs<S: Into<String>, R: Rewrite>(
1883
1883
1884
1884
pub ( crate ) fn rewrite_assign_rhs_expr < R : Rewrite > (
1885
1885
context : & RewriteContext < ' _ > ,
1886
- mut lhs : String ,
1886
+ lhs : & str ,
1887
1887
ex : & R ,
1888
- local : Option < & ast:: Local > ,
1889
1888
shape : Shape ,
1890
1889
rhs_tactics : RhsTactics ,
1890
+ has_rhs_comment : bool ,
1891
1891
) -> Option < String > {
1892
- let mut has_rhs_comment = false ;
1893
-
1894
- if let Some ( ast:: Local {
1895
- ref pat,
1896
- ref ty,
1897
- ref init,
1898
- ref span,
1899
- ..
1900
- } ) = local
1901
- {
1902
- let base_span = if let Some ( ref ty) = ty {
1903
- mk_sp ( ty. span . hi ( ) , span. hi ( ) )
1904
- } else {
1905
- mk_sp ( pat. span . hi ( ) , span. hi ( ) )
1906
- } ;
1907
-
1908
- if let Some ( ex) = init {
1909
- if let Some ( offset) = context. snippet ( base_span) . find_uncommented ( "=" ) {
1910
- let base_span_lo = base_span. lo ( ) ;
1911
-
1912
- let assign_lo = base_span_lo + BytePos ( offset as u32 ) ;
1913
- let comment_start_pos = if let Some ( ref ty) = ty {
1914
- ty. span . hi ( )
1915
- } else {
1916
- pat. span . hi ( )
1917
- } ;
1918
- let comment_before_assign =
1919
- context. snippet ( mk_sp ( comment_start_pos, assign_lo) ) . trim ( ) ;
1920
-
1921
- let assign_hi = base_span_lo + BytePos ( ( offset + 1 ) as u32 ) ;
1922
- let rhs_span_lo = ex. span . lo ( ) ;
1923
- let comment_end_pos = if ex. attrs . is_empty ( ) {
1924
- rhs_span_lo
1925
- } else {
1926
- let attr_span_lo = ex. attrs . first ( ) . unwrap ( ) . span . lo ( ) ;
1927
- // for the case using block
1928
- // ex. let x = { #![my_attr]do_something(); }
1929
- if rhs_span_lo < attr_span_lo {
1930
- rhs_span_lo
1931
- } else {
1932
- attr_span_lo
1933
- }
1934
- } ;
1935
- let comment_after_assign =
1936
- context. snippet ( mk_sp ( assign_hi, comment_end_pos) ) . trim ( ) ;
1937
-
1938
- if !comment_before_assign. is_empty ( ) {
1939
- let pat_shape = shape. offset_left ( 4 ) ?;
1940
- // 1 = ;
1941
- // let pat_shape = pat_shape.sub_width(1)?;
1942
- let new_indent_str = & pat_shape
1943
- . block_indent ( 0 )
1944
- . to_string_with_newline ( context. config ) ;
1945
- lhs = format ! ( "{}{}{}" , comment_before_assign, new_indent_str, lhs) ;
1946
- }
1947
-
1948
- if !comment_after_assign. is_empty ( ) {
1949
- let new_indent_str =
1950
- & shape. block_indent ( 0 ) . to_string_with_newline ( context. config ) ;
1951
- lhs. push_str ( new_indent_str) ;
1952
- lhs. push_str ( comment_after_assign) ;
1953
- lhs. push_str ( new_indent_str) ;
1954
- has_rhs_comment = true ;
1955
- }
1956
- }
1957
- }
1958
- }
1959
-
1960
1892
let last_line_width = last_line_width ( & lhs) . saturating_sub ( if lhs. contains ( '\n' ) {
1961
1893
shape. indent . width ( )
1962
1894
} else {
@@ -1968,15 +1900,14 @@ pub(crate) fn rewrite_assign_rhs_expr<R: Rewrite>(
1968
1900
offset : shape. offset + last_line_width + 1 ,
1969
1901
..shape
1970
1902
} ) ;
1971
- let rhs = choose_rhs (
1903
+ choose_rhs (
1972
1904
context,
1973
1905
ex,
1974
1906
orig_shape,
1975
1907
ex. rewrite ( context, orig_shape) ,
1976
1908
rhs_tactics,
1977
1909
has_rhs_comment,
1978
- ) ?;
1979
- Some ( lhs + & rhs)
1910
+ )
1980
1911
}
1981
1912
1982
1913
pub ( crate ) fn rewrite_assign_rhs_with < S : Into < String > , R : Rewrite > (
@@ -1987,7 +1918,8 @@ pub(crate) fn rewrite_assign_rhs_with<S: Into<String>, R: Rewrite>(
1987
1918
rhs_tactics : RhsTactics ,
1988
1919
) -> Option < String > {
1989
1920
let lhs = lhs. into ( ) ;
1990
- rewrite_assign_rhs_expr ( context, lhs, ex, None , shape, rhs_tactics)
1921
+ let rhs = rewrite_assign_rhs_expr ( context, & lhs, ex, shape, rhs_tactics, false ) ?;
1922
+ Some ( lhs + & rhs)
1991
1923
}
1992
1924
1993
1925
fn choose_rhs < R : Rewrite > (
0 commit comments