update rust to 1.88

[?]
Jul 15, 2025, 3:59 PM
KQABQCCZCM23QWW43LZD5QBNFOXWLGFNCPPIMNMNFMZSNPSTFVEAC

Dependencies

  • [2] KLR5FRIB add fs state read/write of repos
  • [3] Y6LXBCJB update toolchain and rust edition
  • [4] L6KSEFQI move cursor related stuff into its module
  • [5] 4PNWU55O replace the circular hor navigation
  • [6] WIFVLV37 nav-scrollabe: detect size to determine if needs scrolling, msg when ready
  • [7] SASAN2XC use nav-scrollable
  • [8] XHWLKCLD auto-scroll past skip sections on load
  • [9] KWTBNTO3 diffs selection and scrolling
  • [10] 5MUEECMJ smooth scrolling nav
  • [11] BFN2VHZS refactor file stuff into sub-mod
  • [12] WW36JYLR add iced_nav_scrollable widget crate
  • [*] WT3GA27P add cursor with selection

Change contents

  • replacement in rust-toolchain.toml at line 2
    [2.2173][3.2:21]()
    channel = "1.85.1"
    [2.2173]
    channel = "1.88.0"
  • replacement in inflorescence/src/cursor.rs at line 794
    [9.41448][9.41448:41592]()
    // TODO: simplify in rust 1.88
    let task = if diff_selected {
    if let Some(nav) = files_diffs
    [9.41448]
    [9.41592]
    let task = if diff_selected
    && let Some(nav) = files_diffs
  • replacement in inflorescence/src/cursor.rs at line 798
    [9.41693][9.41693:41877]()
    {
    iced_nav_scrollable::scroll_to_stored_offset(nav)
    } else {
    Task::none()
    }
    [9.41693]
    [9.41877]
    {
    iced_nav_scrollable::scroll_to_stored_offset(nav)
  • replacement in inflorescence/src/cursor.rs at line 822
    [9.42678][9.42678:42822]()
    // TODO: simplify in rust 1.88
    let task = if diff_selected {
    if let Some(nav) = files_diffs
    [9.42678]
    [9.42822]
    let task = if diff_selected
    && let Some(nav) = files_diffs
  • replacement in inflorescence/src/cursor.rs at line 826
    [9.42923][9.42923:43085](),[9.43085][4.18836:18858](),[4.18836][4.18836:18858]()
    {
    iced_nav_scrollable::scroll_to_stored_offset(nav)
    } else {
    Task::none()
    }
    [9.42923]
    [9.43086]
    {
    iced_nav_scrollable::scroll_to_stored_offset(nav)
  • replacement in inflorescence/src/cursor.rs at line 856
    [9.44060][9.44060:44197]()
    // TODO: simplify in rust 1.88
    let task = if diff_selected {
    if let Some(nav) = logs
    [9.44060]
    [9.44197]
    let task = if diff_selected
    && let Some(nav) = logs
  • replacement in inflorescence/src/cursor.rs at line 861
    [9.44333][9.44333:44495](),[9.44495][4.20229:20251](),[4.20229][4.20229:20251]()
    {
    iced_nav_scrollable::scroll_to_stored_offset(nav)
    } else {
    Task::none()
    }
    [9.44333]
    [9.44496]
    {
    iced_nav_scrollable::scroll_to_stored_offset(nav)
  • edit in inflorescence/src/cursor.rs at line 918
    [10.7150]
    [10.7150]
  • edit in inflorescence/src/cursor.rs at line 1006
    [9.46734][9.46734:46777]()
    // TODO: simplify in rust 1.88
  • replacement in inflorescence/src/cursor.rs at line 1008
    [9.46885][9.46885:46979]()
    let task = if is_diff_scrollable {
    if let Some(nav) = files_diffs
    [9.46885]
    [9.46979]
    let task = if is_diff_scrollable
    && let Some(nav) = files_diffs
  • replacement in inflorescence/src/cursor.rs at line 1012
    [9.47072][9.47072:47236]()
    {
    iced_nav_scrollable::scroll_to_stored_offset(nav)
    } else {
    Task::none()
    }
    [9.47072]
    [5.1410]
    {
    iced_nav_scrollable::scroll_to_stored_offset(nav)
  • edit in inflorescence/src/cursor.rs at line 1034
    [9.47805]
    [9.47805]
    && diff::any_diff_has_contents(diffs)
  • replacement in inflorescence/src/cursor.rs at line 1036
    [9.47819][9.47819:47959]()
    if diff::any_diff_has_contents(diffs) {
    file::load_src_file_if_not_cached(files, id);
    }
    [9.47819]
    [5.1460]
    file::load_src_file_if_not_cached(files, id);
  • edit in inflorescence/src/cursor.rs at line 1040
    [9.48095][9.48095:48138]()
    // TODO: simplify in rust 1.88
  • replacement in inflorescence/src/cursor.rs at line 1042
    [9.48246][9.48246:48340]()
    let task = if is_diff_scrollable {
    if let Some(nav) = files_diffs
    [9.48246]
    [9.48340]
    let task = if is_diff_scrollable
    && let Some(nav) = files_diffs
  • replacement in inflorescence/src/cursor.rs at line 1046
    [9.48433][9.48433:48597]()
    {
    iced_nav_scrollable::scroll_to_stored_offset(nav)
    } else {
    Task::none()
    }
    [9.48433]
    [4.23070]
    {
    iced_nav_scrollable::scroll_to_stored_offset(nav)
  • replacement in inflorescence/src/cursor.rs at line 1082
    [9.49684][9.49684:49833]()
    // TODO: simplify in rust 1.88
    let task = if diff_selected {
    if let Some(nav) = logs
    [9.49684]
    [9.49833]
    let task = if diff_selected
    && let Some(nav) = logs
  • replacement in inflorescence/src/cursor.rs at line 1087
    [9.49981][9.49981:50159](),[9.50159][4.24380:24406](),[4.24380][4.24380:24406]()
    {
    iced_nav_scrollable::scroll_to_stored_offset(nav)
    } else {
    Task::none()
    }
    [9.49981]
    [9.50160]
    {
    iced_nav_scrollable::scroll_to_stored_offset(nav)
  • replacement in iced_nav_scrollable/src/lib.rs at line 173
    [6.2851][7.12083:12217]()
    if let Some(height) = height {
    if generation == nav.generation {
    nav.height = height;
    [6.2851]
    [6.2934]
    if let Some(height) = height
    && generation == nav.generation
    {
    nav.height = height;
  • replacement in iced_nav_scrollable/src/lib.rs at line 178
    [6.2935][7.12218:12329](),[7.12329][8.246:307](),[8.307][6.3215:3237](),[7.12383][6.3215:3237](),[6.3215][6.3215:3237]()
    if let Some(offsets) = nav.pending_tasks.as_mut() {
    *offsets -= 1;
    return update_offsets_if_ready(nav);
    }
    [6.2935]
    [6.3237]
    if let Some(offsets) = nav.pending_tasks.as_mut() {
    *offsets -= 1;
    return update_offsets_if_ready(nav);
  • replacement in iced_nav_scrollable/src/lib.rs at line 196
    [6.3402][7.12672:12825]()
    if let Some(height) = height {
    if generation == nav.generation {
    nav.section_heights.insert(id, height);
    [6.3402]
    [6.3504]
    if let Some(height) = height
    && generation == nav.generation
    {
    nav.section_heights.insert(id, height);
  • replacement in iced_nav_scrollable/src/lib.rs at line 201
    [6.3505][7.12826:12937](),[7.12937][8.308:369](),[8.369][6.3785:3807](),[7.12991][6.3785:3807](),[6.3785][6.3785:3807]()
    if let Some(offsets) = nav.pending_tasks.as_mut() {
    *offsets -= 1;
    return update_offsets_if_ready(nav);
    }
    [6.3505]
    [6.3807]
    if let Some(offsets) = nav.pending_tasks.as_mut() {
    *offsets -= 1;
    return update_offsets_if_ready(nav);