Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Panic in generate_delegate_method #16276

Closed
roife opened this issue Jan 6, 2024 · 1 comment · Fixed by #16277
Closed

Panic in generate_delegate_method #16276

roife opened this issue Jan 6, 2024 · 1 comment · Fixed by #16277
Labels
C-bug Category: bug

Comments

@roife
Copy link
Contributor

roife commented Jan 6, 2024

rust-analyzer version: latest [rust-analyzer 0.0.0 (b0964ef54 2024-01-05)]

rustc version: rustc 1.76.0-nightly (eeff92ad3 2023-12-13)

relevant settings: None.

This bug was introduced in #15705

Reproducible in the following piece of code:

struct S {
    a$0: Vec<i32>
}

It triggers:

[stderr] Panic context:
[stderr] > 
[stderr] version: 0.0.0 (b0964ef54 2024-01-05)
[stderr] request: codeAction/resolve CodeAction {
[stderr]     title: "Generate delegate for `a.sort_by()`",
[stderr]     group: None,
[stderr]     kind: Some(
[stderr]         CodeActionKind(
[stderr]             "",
[stderr]         ),
[stderr]     ),
[stderr]     command: None,
[stderr]     edit: None,
[stderr]     is_preferred: None,
[stderr]     data: Some(
[stderr]         CodeActionData {
[stderr]             code_action_params: CodeActionParams {
[stderr]                 text_document: TextDocumentIdentifier {
[stderr]                     uri: Url {
[stderr]                         scheme: "file",
[stderr]                         cannot_be_a_base: false,
[stderr]                         username: "",
[stderr]                         password: None,
[stderr]                         host: None,
[stderr]                         port: None,
[stderr]                         path: "/Users/roife/code/testr/src/main.rs",
[stderr]                         query: None,
[stderr]                         fragment: None,
[stderr]                     },
[stderr]                 },
[stderr]                 range: Range {
[stderr]                     start: Position {
[stderr]                         line: 3,
[stderr]                         character: 4,
[stderr]                     },
[stderr]                     end: Position {
[stderr]                         line: 3,
[stderr]                         character: 5,
[stderr]                     },
[stderr]                 },
[stderr]                 context: CodeActionContext {
[stderr]                     diagnostics: [],
[stderr]                     only: None,
[stderr]                     trigger_kind: None,
[stderr]                 },
[stderr]                 work_done_progress_params: WorkDoneProgressParams {
[stderr]                     work_done_token: None,
[stderr]                 },
[stderr]                 partial_result_params: PartialResultParams {
[stderr]                     partial_result_token: None,
[stderr]                 },
[stderr]             },
[stderr]             id: "generate_delegate_methods:Generate:136",
[stderr]         },
[stderr]     ),
[stderr] }
[stderr] 
[stderr] thread 'Worker' panicked at crates/hir-expand/src/ast_id_map.rs:228:21:
[stderr] Can't find CONST_ARG@243..248 in AstIdMap:
[stderr] [SyntaxNodePtr { kind: SOURCE_FILE, range: 0..172062 }, SyntaxNodePtr { kind: USE, range: 184..239 }, SyntaxNodePtr { kind: USE, range: 240..255 }, SyntaxNodePtr { kind: USE, range: 256..289 }, SyntaxNodePtr { kind: USE, range: 290..334 }, SyntaxNodePtr { kind: USE, range: 335..364 }, SyntaxNodePtr { kind: USE, range: 365..424 }, SyntaxNodePtr { kind: USE, range: 425..465 }, SyntaxNodePtr { kind: USE, range: 466..481 }, SyntaxNodePtr { kind: USE, range: 482..512 }, SyntaxNodePtr { kind: USE, range: 513..530 }, SyntaxNodePtr { kind: MODULE, range: 532..750 }, SyntaxNodePtr { kind: MODULE, range: 752..887 }, SyntaxNodePtr { kind: MODULE, range: 889..899 }, SyntaxNodePtr { kind: MODULE, range: 900..908 }, SyntaxNodePtr { kind: MODULE, range: 909..930 }, SyntaxNodePtr { kind: MODULE, range: 931..940 }, SyntaxNodePtr { kind: MODULE, range: 941..949 }, SyntaxNodePtr { kind: MODULE, range: 950..961 }, SyntaxNodePtr { kind: MODULE, range: 962..973 }, SyntaxNodePtr { kind: MODULE, range: 974..989 }, SyntaxNodePtr { kind: USE, range: 991..1092 }, SyntaxNodePtr { kind: USE, range: 1094..1183 }, SyntaxNodePtr { kind: USE, range: 1184..1260 }, SyntaxNodePtr { kind: USE, range: 1261..1379 }, SyntaxNodePtr { kind: USE, range: 1381..1469 }, SyntaxNodePtr { kind: USE, range: 1471..1569 }, SyntaxNodePtr { kind: USE, range: 1571..1687 }, SyntaxNodePtr { kind: USE, range: 1689..1788 }, SyntaxNodePtr { kind: USE, range: 1790..1873 }, SyntaxNodePtr { kind: USE, range: 1875..1968 }, SyntaxNodePtr { kind: USE, range: 1970..2077 }, SyntaxNodePtr { kind: USE, range: 2079..2175 }, SyntaxNodePtr { kind: USE, range: 2177..2261 }, SyntaxNodePtr { kind: USE, range: 2263..2376 }, SyntaxNodePtr { kind: USE, range: 2378..2578 }, SyntaxNodePtr { kind: USE, range: 2580..2663 }, SyntaxNodePtr { kind: USE, range: 2665..2740 }, SyntaxNodePtr { kind: USE, range: 2742..2832 }, SyntaxNodePtr { kind: FN, range: 2834..3591 }, SyntaxNodePtr { kind: ENUM, range: 3593..3632 }, SyntaxNodePtr { kind: IMPL, range: 3634..163457 }, SyntaxNodePtr { kind: IMPL, range: 163459..166295 }, SyntaxNodePtr { kind: IMPL, range: 166297..167224 }, SyntaxNodePtr { kind: IMPL, range: 167226..168153 }, SyntaxNodePtr { kind: TRAIT, range: 168155..168227 }, SyntaxNodePtr { kind: IMPL, range: 168229..168840 }, SyntaxNodePtr { kind: IMPL, range: 168842..169005 }, SyntaxNodePtr { kind: IMPL, range: 169007..169158 }, SyntaxNodePtr { kind: IMPL, range: 169160..169338 }, SyntaxNodePtr { kind: TRAIT, range: 169340..169913 }, SyntaxNodePtr { kind: IMPL, range: 169915..170095 }, SyntaxNodePtr { kind: IMPL, range: 170097..170296 }, SyntaxNodePtr { kind: FN, range: 170298..170877 }, SyntaxNodePtr { kind: STRUCT, range: 170879..171525 }, SyntaxNodePtr { kind: IMPL, range: 171527..171776 }, SyntaxNodePtr { kind: IMPL, range: 171778..172061 }, SyntaxNodePtr { kind: PARAM, range: 3143..3175 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 3207..3591 }, SyntaxNodePtr { kind: VARIANT, range: 3614..3619 }, SyntaxNodePtr { kind: VARIANT, range: 3625..3629 }, SyntaxNodePtr { kind: FN, range: 3670..4142 }, SyntaxNodePtr { kind: FN, range: 4148..4547 }, SyntaxNodePtr { kind: FN, range: 4553..5111 }, SyntaxNodePtr { kind: FN, range: 5117..5709 }, SyntaxNodePtr { kind: FN, range: 5715..6371 }, SyntaxNodePtr { kind: FN, range: 6377..7089 }, SyntaxNodePtr { kind: FN, range: 7095..7744 }, SyntaxNodePtr { kind: FN, range: 7750..8455 }, SyntaxNodePtr { kind: FN, range: 8461..9013 }, SyntaxNodePtr { kind: FN, range: 9019..9577 }, SyntaxNodePtr { kind: FN, range: 9583..10578 }, SyntaxNodePtr { kind: FN, range: 10584..11638 }, SyntaxNodePtr { kind: FN, range: 11644..12760 }, SyntaxNodePtr { kind: FN, range: 12766..14062 }, SyntaxNodePtr { kind: FN, range: 14068..15190 }, SyntaxNodePtr { kind: FN, range: 15196..16449 }, SyntaxNodePtr { kind: FN, range: 16455..17654 }, SyntaxNodePtr { kind: FN, range: 17660..18885 }, SyntaxNodePtr { kind: FN, range: 18891..19696 }, SyntaxNodePtr { kind: FN, range: 19702..20329 }, SyntaxNodePtr { kind: FN, range: 20335..21741 }, SyntaxNodePtr { kind: FN, range: 21747..23268 }, SyntaxNodePtr { kind: FN, range: 23274..24530 }, SyntaxNodePtr { kind: FN, range: 24536..25533 }, SyntaxNodePtr { kind: FN, range: 25539..27920 }, SyntaxNodePtr { kind: FN, range: 27926..29171 }, SyntaxNodePtr { kind: FN, range: 29177..30546 }, SyntaxNodePtr { kind: FN, range: 30552..32024 }, SyntaxNodePtr { kind: FN, range: 32030..33914 }, SyntaxNodePtr { kind: FN, range: 33920..34474 }, SyntaxNodePtr { kind: FN, range: 34480..34945 }, SyntaxNodePtr { kind: FN, range: 34951..36775 }, SyntaxNodePtr { kind: FN, range: 36781..38064 }, SyntaxNodePtr { kind: FN, range: 38070..39389 }, SyntaxNodePtr { kind: FN, range: 39395..40938 }, SyntaxNodePtr { kind: FN, range: 40944..42544 }, SyntaxNodePtr { kind: FN, range: 42550..44401 }, SyntaxNodePtr { kind: FN, range: 44407..46040 }, SyntaxNodePtr { kind: FN, range: 46046..47279 }, SyntaxNodePtr { kind: FN, range: 47285..48596 }, SyntaxNodePtr { kind: FN, range: 48602..50564 }, SyntaxNodePtr { kind: FN, range: 50570..51914 }, SyntaxNodePtr { kind: FN, range: 51920..53273 }, SyntaxNodePtr { kind: FN, range: 53279..54566 }, SyntaxNodePtr { kind: FN, range: 54572..55701 }, SyntaxNodePtr { kind: FN, range: 55707..56997 }, SyntaxNodePtr { kind: FN, range: 57003..58329 }, SyntaxNodePtr { kind: FN, range: 58335..59920 }, SyntaxNodePtr { kind: FN, range: 59926..61567 }, SyntaxNodePtr { kind: FN, range: 61573..63019 }, SyntaxNodePtr { kind: FN, range: 63025..64533 }, SyntaxNodePtr { kind: FN, range: 64539..65966 }, SyntaxNodePtr { kind: FN, range: 65972..67099 }, SyntaxNodePtr { kind: FN, range: 67105..69368 }, SyntaxNodePtr { kind: FN, range: 69374..71413 }, SyntaxNodePtr { kind: FN, range: 71419..72794 }, SyntaxNodePtr { kind: FN, range: 72800..73926 }, SyntaxNodePtr { kind: FN, range: 73932..75377 }, SyntaxNodePtr { kind: FN, range: 75383..76571 }, SyntaxNodePtr { kind: FN, range: 76577..78184 }, SyntaxNodePtr { kind: FN, range: 78190..78807 }, SyntaxNodePtr { kind: FN, range: 78813..80047 }, SyntaxNodePtr { kind: FN, range: 80053..80808 }, SyntaxNodePtr { kind: FN, range: 80814..82051 }, SyntaxNodePtr { kind: FN, range: 82057..82822 }, SyntaxNodePtr { kind: FN, range: 82828..83665 }, SyntaxNodePtr { kind: FN, range: 83671..84467 }, SyntaxNodePtr { kind: FN, range: 84473..85403 }, SyntaxNodePtr { kind: FN, range: 85409..86266 }, SyntaxNodePtr { kind: FN, range: 86272..87195 }, SyntaxNodePtr { kind: FN, range: 87201..88127 }, SyntaxNodePtr { kind: FN, range: 88133..89193 }, SyntaxNodePtr { kind: FN, range: 89199..89984 }, SyntaxNodePtr { kind: FN, range: 89990..90775 }, SyntaxNodePtr { kind: FN, range: 90781..92161 }, SyntaxNodePtr { kind: FN, range: 92167..93418 }, SyntaxNodePtr { kind: FN, range: 93424..96538 }, SyntaxNodePtr { kind: FN, range: 96544..100310 }, SyntaxNodePtr { kind: FN, range: 100316..102943 }, SyntaxNodePtr { kind: FN, range: 102949..104222 }, SyntaxNodePtr { kind: FN, range: 104228..106590 }, SyntaxNodePtr { kind: FN, range: 106596..108120 }, SyntaxNodePtr { kind: FN, range: 108126..110264 }, SyntaxNodePtr { kind: FN, range: 110270..112702 }, SyntaxNodePtr { kind: FN, range: 112708..115161 }, SyntaxNodePtr { kind: FN, range: 115167..116100 }, SyntaxNodePtr { kind: FN, range: 116106..121583 }, SyntaxNodePtr { kind: FN, range: 121589..122607 }, SyntaxNodePtr { kind: FN, range: 122613..124037 }, SyntaxNodePtr { kind: FN, range: 124043..125470 }, SyntaxNodePtr { kind: FN, range: 125476..125895 }, SyntaxNodePtr { kind: FN, range: 125901..126651 }, SyntaxNodePtr { kind: FN, range: 126657..128494 }, SyntaxNodePtr { kind: FN, range: 128500..131244 }, SyntaxNodePtr { kind: FN, range: 131250..132848 }, SyntaxNodePtr { kind: FN, range: 132854..134837 }, SyntaxNodePtr { kind: FN, range: 134843..136583 }, SyntaxNodePtr { kind: FN, range: 136589..139714 }, SyntaxNodePtr { kind: FN, range: 139720..143368 }, SyntaxNodePtr { kind: FN, range: 143374..146461 }, SyntaxNodePtr { kind: FN, range: 146467..148611 }, SyntaxNodePtr { kind: FN, range: 148617..149630 }, SyntaxNodePtr { kind: FN, range: 149636..150353 }, SyntaxNodePtr { kind: FN, range: 150359..151264 }, SyntaxNodePtr { kind: FN, range: 151270..153571 }, SyntaxNodePtr { kind: FN, range: 153577..155705 }, SyntaxNodePtr { kind: FN, range: 155711..157966 }, SyntaxNodePtr { kind: FN, range: 157972..158616 }, SyntaxNodePtr { kind: FN, range: 158622..159335 }, SyntaxNodePtr { kind: FN, range: 159341..159977 }, SyntaxNodePtr { kind: FN, range: 159983..160687 }, SyntaxNodePtr { kind: FN, range: 160693..162473 }, SyntaxNodePtr { kind: FN, range: 162479..163455 }, SyntaxNodePtr { kind: CONST_ARG, range: 163488..163489 }, SyntaxNodePtr { kind: FN, range: 163498..164968 }, SyntaxNodePtr { kind: FN, range: 164974..166293 }, SyntaxNodePtr { kind: FN, range: 166332..167222 }, SyntaxNodePtr { kind: FN, range: 167261..168151 }, SyntaxNodePtr { kind: FN, range: 168184..168225 }, SyntaxNodePtr { kind: FN, range: 168288..168838 }, SyntaxNodePtr { kind: FN, range: 168900..169003 }, SyntaxNodePtr { kind: FN, range: 169084..169156 }, SyntaxNodePtr { kind: FN, range: 169253..169336 }, SyntaxNodePtr { kind: TYPE_ALIAS, range: 169738..169804 }, SyntaxNodePtr { kind: FN, range: 169810..169911 }, SyntaxNodePtr { kind: TYPE_ALIAS, range: 170003..170017 }, SyntaxNodePtr { kind: FN, range: 170023..170093 }, SyntaxNodePtr { kind: CONST_ARG, range: 170195..170196 }, SyntaxNodePtr { kind: TYPE_ALIAS, range: 170204..170218 }, SyntaxNodePtr { kind: FN, range: 170224..170294 }, SyntaxNodePtr { kind: PARAM, range: 170513..170533 }, SyntaxNodePtr { kind: PARAM, range: 170535..170545 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 170555..170877 }, SyntaxNodePtr { kind: RECORD_FIELD, range: 171510..171522 }, SyntaxNodePtr { kind: FN, range: 171644..171774 }, SyntaxNodePtr { kind: FN, range: 171897..172059 }, SyntaxNodePtr { kind: USE, range: 3213..3226 }, SyntaxNodePtr { kind: MACRO_CALL, range: 3567..3581 }, SyntaxNodePtr { kind: SELF_PARAM, range: 4091..4096 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 4107..4142 }, SyntaxNodePtr { kind: SELF_PARAM, range: 4501..4506 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 4516..4547 }, SyntaxNodePtr { kind: SELF_PARAM, range: 5019..5024 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 5040..5111 }, SyntaxNodePtr { kind: SELF_PARAM, range: 5609..5618 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 5638..5709 }, SyntaxNodePtr { kind: SELF_PARAM, range: 6256..6261 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 6285..6371 }, SyntaxNodePtr { kind: SELF_PARAM, range: 6962..6971 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 7003..7089 }, SyntaxNodePtr { kind: SELF_PARAM, range: 7631..7636 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 7660..7744 }, SyntaxNodePtr { kind: SELF_PARAM, range: 8330..8339 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 8371..8455 }, SyntaxNodePtr { kind: SELF_PARAM, range: 8923..8928 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 8944..9013 }, SyntaxNodePtr { kind: SELF_PARAM, range: 9479..9488 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 9508..9577 }, SyntaxNodePtr { kind: SELF_PARAM, range: 10265..10270 }, SyntaxNodePtr { kind: CONST_ARG, range: 10287..10288 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 10291..10578 }, SyntaxNodePtr { kind: SELF_PARAM, range: 11228..11237 }, SyntaxNodePtr { kind: CONST_ARG, range: 11258..11259 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 11262..11638 }, SyntaxNodePtr { kind: SELF_PARAM, range: 12288..12293 }, SyntaxNodePtr { kind: CONST_ARG, range: 12311..12312 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 12322..12760 }, SyntaxNodePtr { kind: SELF_PARAM, range: 13490..13499 }, SyntaxNodePtr { kind: CONST_ARG, range: 13527..13528 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 13542..14062 }, SyntaxNodePtr { kind: SELF_PARAM, range: 14707..14712 }, SyntaxNodePtr { kind: CONST_ARG, range: 14730..14731 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 14741..15190 }, SyntaxNodePtr { kind: SELF_PARAM, range: 15866..15875 }, SyntaxNodePtr { kind: CONST_ARG, range: 15903..15904 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 15918..16449 }, SyntaxNodePtr { kind: SELF_PARAM, range: 17108..17113 }, SyntaxNodePtr { kind: CONST_ARG, range: 17130..17131 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 17134..17654 }, SyntaxNodePtr { kind: SELF_PARAM, range: 18239..18248 }, SyntaxNodePtr { kind: CONST_ARG, range: 18269..18270 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 18273..18885 }, SyntaxNodePtr { kind: SELF_PARAM, range: 19583..19588 }, SyntaxNodePtr { kind: PARAM, range: 19590..19598 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 19665..19696 }, SyntaxNodePtr { kind: SELF_PARAM, range: 20204..20213 }, SyntaxNodePtr { kind: PARAM, range: 20215..20223 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 20294..20329 }, SyntaxNodePtr { kind: SELF_PARAM, range: 21342..21347 }, SyntaxNodePtr { kind: PARAM, range: 21349..21357 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 21416..21741 }, SyntaxNodePtr { kind: SELF_PARAM, range: 22857..22866 }, SyntaxNodePtr { kind: PARAM, range: 22868..22876 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 22939..23268 }, SyntaxNodePtr { kind: SELF_PARAM, range: 24465..24470 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 24484..24530 }, SyntaxNodePtr { kind: SELF_PARAM, range: 25470..25479 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 25491..25533 }, SyntaxNodePtr { kind: SELF_PARAM, range: 26836..26841 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 26862..27920 }, SyntaxNodePtr { kind: SELF_PARAM, range: 28954..28963 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 28982..29171 }, SyntaxNodePtr { kind: SELF_PARAM, range: 29862..29871 }, SyntaxNodePtr { kind: PARAM, range: 29873..29881 }, SyntaxNodePtr { kind: PARAM, range: 29883..29891 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 29893..30546 }, SyntaxNodePtr { kind: SELF_PARAM, range: 31615..31624 }, SyntaxNodePtr { kind: PARAM, range: 31626..31634 }, SyntaxNodePtr { kind: PARAM, range: 31636..31644 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 31646..32024 }, SyntaxNodePtr { kind: SELF_PARAM, range: 32316..32325 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 32327..33914 }, SyntaxNodePtr { kind: SELF_PARAM, range: 34421..34426 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 34443..34474 }, SyntaxNodePtr { kind: SELF_PARAM, range: 34882..34891 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 34911..34945 }, SyntaxNodePtr { kind: SELF_PARAM, range: 36614..36619 }, SyntaxNodePtr { kind: PARAM, range: 36621..36632 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 36652..36775 }, SyntaxNodePtr { kind: SELF_PARAM, range: 37911..37916 }, SyntaxNodePtr { kind: PARAM, range: 37918..37935 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 37954..38064 }, SyntaxNodePtr { kind: SELF_PARAM, range: 39226..39235 }, SyntaxNodePtr { kind: PARAM, range: 39237..39254 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 39276..39389 }, SyntaxNodePtr { kind: SELF_PARAM, range: 40775..40780 }, SyntaxNodePtr { kind: PARAM, range: 40782..40799 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 40823..40938 }, SyntaxNodePtr { kind: SELF_PARAM, range: 42371..42380 }, SyntaxNodePtr { kind: PARAM, range: 42382..42399 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 42426..42544 }, SyntaxNodePtr { kind: SELF_PARAM, range: 43827..43832 }, SyntaxNodePtr { kind: CONST_ARG, range: 43843..43844 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 43847..44401 }, SyntaxNodePtr { kind: SELF_PARAM, range: 45603..45608 }, SyntaxNodePtr { kind: CONST_ARG, range: 45620..45621 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 45631..46040 }, SyntaxNodePtr { kind: SELF_PARAM, range: 46829..46834 }, SyntaxNodePtr { kind: CONST_ARG, range: 46852..46853 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 46857..47279 }, SyntaxNodePtr { kind: SELF_PARAM, range: 48470..48475 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 48502..48596 }, SyntaxNodePtr { kind: SELF_PARAM, range: 49974..49983 }, SyntaxNodePtr { kind: CONST_ARG, range: 49998..49999 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 50002..50564 }, SyntaxNodePtr { kind: SELF_PARAM, range: 51457..51466 }, SyntaxNodePtr { kind: CONST_ARG, range: 51482..51483 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 51497..51914 }, SyntaxNodePtr { kind: SELF_PARAM, range: 52803..52812 }, SyntaxNodePtr { kind: CONST_ARG, range: 52838..52839 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 52843..53273 }, SyntaxNodePtr { kind: SELF_PARAM, range: 54430..54439 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 54469..54566 }, SyntaxNodePtr { kind: SELF_PARAM, range: 55572..55577 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 55605..55701 }, SyntaxNodePtr { kind: SELF_PARAM, range: 56842..56847 }, SyntaxNodePtr { kind: PARAM, range: 56849..56866 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 56886..56997 }, SyntaxNodePtr { kind: SELF_PARAM, range: 58164..58173 }, SyntaxNodePtr { kind: PARAM, range: 58175..58192 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 58215..58329 }, SyntaxNodePtr { kind: SELF_PARAM, range: 59755..59760 }, SyntaxNodePtr { kind: PARAM, range: 59762..59779 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 59804..59920 }, SyntaxNodePtr { kind: SELF_PARAM, range: 61392..61401 }, SyntaxNodePtr { kind: PARAM, range: 61403..61420 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 61448..61567 }, SyntaxNodePtr { kind: SELF_PARAM, range: 62894..62899 }, SyntaxNodePtr { kind: PARAM, range: 62901..62908 }, SyntaxNodePtr { kind: PARAM, range: 62958..62960 }, SyntaxNodePtr { kind: PARAM, range: 62962..62964 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 62979..63019 }, SyntaxNodePtr { kind: SELF_PARAM, range: 64398..64407 }, SyntaxNodePtr { kind: PARAM, range: 64409..64416 }, SyntaxNodePtr { kind: PARAM, range: 64469..64471 }, SyntaxNodePtr { kind: PARAM, range: 64473..64475 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 64490..64533 }, SyntaxNodePtr { kind: SELF_PARAM, range: 65704..65709 }, SyntaxNodePtr { kind: PARAM, range: 65711..65721 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 65739..65966 }, SyntaxNodePtr { kind: SELF_PARAM, range: 66821..66830 }, SyntaxNodePtr { kind: PARAM, range: 66832..66842 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 66868..67099 }, SyntaxNodePtr { kind: SELF_PARAM, range: 68750..68755 }, SyntaxNodePtr { kind: PARAM, range: 68757..68767 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 68785..69368 }, SyntaxNodePtr { kind: SELF_PARAM, range: 70845..70854 }, SyntaxNodePtr { kind: PARAM, range: 70856..70866 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 70892..71413 }, SyntaxNodePtr { kind: SELF_PARAM, range: 72580..72585 }, SyntaxNodePtr { kind: CONST_ARG, range: 72596..72597 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 72606..72794 }, SyntaxNodePtr { kind: SELF_PARAM, range: 73686..73695 }, SyntaxNodePtr { kind: CONST_ARG, range: 73710..73711 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 73724..73926 }, SyntaxNodePtr { kind: SELF_PARAM, range: 75116..75121 }, SyntaxNodePtr { kind: CONST_ARG, range: 75138..75139 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 75142..75377 }, SyntaxNodePtr { kind: SELF_PARAM, range: 76284..76293 }, SyntaxNodePtr { kind: CONST_ARG, range: 76318..76319 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 76322..76571 }, SyntaxNodePtr { kind: SELF_PARAM, range: 78067..78072 }, SyntaxNodePtr { kind: PARAM, range: 78074..78081 }, SyntaxNodePtr { kind: PARAM, range: 78129..78131 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 78146..78184 }, SyntaxNodePtr { kind: SELF_PARAM, range: 78680..78689 }, SyntaxNodePtr { kind: PARAM, range: 78691..78698 }, SyntaxNodePtr { kind: PARAM, range: 78749..78751 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 78766..78807 }, SyntaxNodePtr { kind: SELF_PARAM, range: 79912..79917 }, SyntaxNodePtr { kind: PARAM, range: 79919..79926 }, SyntaxNodePtr { kind: PARAM, range: 79983..79985 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 80000..80047 }, SyntaxNodePtr { kind: SELF_PARAM, range: 80663..80672 }, SyntaxNodePtr { kind: PARAM, range: 80674..80681 }, SyntaxNodePtr { kind: PARAM, range: 80741..80743 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 80758..80808 }, SyntaxNodePtr { kind: SELF_PARAM, range: 81932..81937 }, SyntaxNodePtr { kind: PARAM, range: 81939..81946 }, SyntaxNodePtr { kind: PARAM, range: 81995..81997 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 82012..82051 }, SyntaxNodePtr { kind: SELF_PARAM, range: 82693..82702 }, SyntaxNodePtr { kind: PARAM, range: 82704..82711 }, SyntaxNodePtr { kind: PARAM, range: 82763..82765 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 82780..82822 }, SyntaxNodePtr { kind: SELF_PARAM, range: 83527..83532 }, SyntaxNodePtr { kind: PARAM, range: 83534..83542 }, SyntaxNodePtr { kind: PARAM, range: 83544..83551 }, SyntaxNodePtr { kind: PARAM, range: 83600..83602 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 83617..83665 }, SyntaxNodePtr { kind: SELF_PARAM, range: 84315..84324 }, SyntaxNodePtr { kind: PARAM, range: 84326..84334 }, SyntaxNodePtr { kind: PARAM, range: 84336..84343 }, SyntaxNodePtr { kind: PARAM, range: 84395..84397 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 84412..84467 }, SyntaxNodePtr { kind: SELF_PARAM, range: 85262..85267 }, SyntaxNodePtr { kind: PARAM, range: 85269..85277 }, SyntaxNodePtr { kind: PARAM, range: 85279..85286 }, SyntaxNodePtr { kind: PARAM, range: 85336..85338 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 85353..85403 }, SyntaxNodePtr { kind: SELF_PARAM, range: 86111..86120 }, SyntaxNodePtr { kind: PARAM, range: 86122..86130 }, SyntaxNodePtr { kind: PARAM, range: 86132..86139 }, SyntaxNodePtr { kind: PARAM, range: 86192..86194 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 86209..86266 }, SyntaxNodePtr { kind: SELF_PARAM, range: 87004..87009 }, SyntaxNodePtr { kind: PARAM, range: 87011..87018 }, SyntaxNodePtr { kind: PARAM, range: 87071..87073 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 87088..87195 }, SyntaxNodePtr { kind: SELF_PARAM, range: 87935..87940 }, SyntaxNodePtr { kind: PARAM, range: 87942..87949 }, SyntaxNodePtr { kind: PARAM, range: 88002..88004 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 88019..88127 }, SyntaxNodePtr { kind: SELF_PARAM, range: 89076..89081 }, SyntaxNodePtr { kind: PARAM, range: 89083..89088 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 89134..89193 }, SyntaxNodePtr { kind: SELF_PARAM, range: 89834..89839 }, SyntaxNodePtr { kind: PARAM, range: 89841..89853 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 89899..89984 }, SyntaxNodePtr { kind: SELF_PARAM, range: 90611..90616 }, SyntaxNodePtr { kind: PARAM, range: 90618..90630 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 90676..90775 }, SyntaxNodePtr { kind: SELF_PARAM, range: 91733..91738 }, SyntaxNodePtr { kind: PARAM, range: 91740..91750 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 91804..92161 }, SyntaxNodePtr { kind: SELF_PARAM, range: 92970..92975 }, SyntaxNodePtr { kind: PARAM, range: 92977..92987 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 93041..93418 }, SyntaxNodePtr { kind: SELF_PARAM, range: 96419..96424 }, SyntaxNodePtr { kind: PARAM, range: 96426..96431 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 96487..96538 }, SyntaxNodePtr { kind: SELF_PARAM, range: 98621..98629 }, SyntaxNodePtr { kind: PARAM, range: 98631..98639 }, SyntaxNodePtr { kind: PARAM, range: 98692..98697 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 98716..100310 }, SyntaxNodePtr { kind: SELF_PARAM, range: 102778..102786 }, SyntaxNodePtr { kind: PARAM, range: 102788..102793 }, SyntaxNodePtr { kind: PARAM, range: 102795..102803 }, SyntaxNodePtr { kind: PARAM, range: 102856..102861 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 102889..102943 }, SyntaxNodePtr { kind: SELF_PARAM, range: 104136..104145 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 104177..104222 }, SyntaxNodePtr { kind: SELF_PARAM, range: 106433..106442 }, SyntaxNodePtr { kind: PARAM, range: 106444..106458 }, SyntaxNodePtr { kind: PARAM, range: 106487..106489 }, SyntaxNodePtr { kind: PARAM, range: 106491..106493 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 106512..106590 }, SyntaxNodePtr { kind: SELF_PARAM, range: 107981..107990 }, SyntaxNodePtr { kind: PARAM, range: 107992..108000 }, SyntaxNodePtr { kind: PARAM, range: 108029..108031 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 108059..108120 }, SyntaxNodePtr { kind: SELF_PARAM, range: 110115..110124 }, SyntaxNodePtr { kind: PARAM, range: 110126..110138 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 110202..110264 }, SyntaxNodePtr { kind: SELF_PARAM, range: 112462..112471 }, SyntaxNodePtr { kind: PARAM, range: 112481..112493 }, SyntaxNodePtr { kind: PARAM, range: 112503..112517 }, SyntaxNodePtr { kind: PARAM, range: 112584..112586 }, SyntaxNodePtr { kind: PARAM, range: 112588..112590 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 112609..112702 }, SyntaxNodePtr { kind: SELF_PARAM, range: 114929..114938 }, SyntaxNodePtr { kind: PARAM, range: 114948..114960 }, SyntaxNodePtr { kind: PARAM, range: 114970..114978 }, SyntaxNodePtr { kind: PARAM, range: 115045..115047 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 115075..115161 }, SyntaxNodePtr { kind: SELF_PARAM, range: 115975..115984 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 116046..116100 }, SyntaxNodePtr { kind: SELF_PARAM, range: 117320..117329 }, SyntaxNodePtr { kind: PARAM, range: 117331..117349 }, SyntaxNodePtr { kind: PARAM, range: 117402..117408 }, SyntaxNodePtr { kind: PARAM, range: 117410..117416 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 117431..121583 }, SyntaxNodePtr { kind: SELF_PARAM, range: 122429..122438 }, SyntaxNodePtr { kind: PARAM, range: 122440..122450 }, SyntaxNodePtr { kind: PARAM, range: 122503..122509 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 122543..122607 }, SyntaxNodePtr { kind: SELF_PARAM, range: 123672..123681 }, SyntaxNodePtr { kind: PARAM, range: 123683..123693 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 123695..124037 }, SyntaxNodePtr { kind: SELF_PARAM, range: 125109..125118 }, SyntaxNodePtr { kind: PARAM, range: 125120..125128 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 125130..125470 }, SyntaxNodePtr { kind: SELF_PARAM, range: 125781..125790 }, SyntaxNodePtr { kind: PARAM, range: 125792..125800 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 125834..125895 }, SyntaxNodePtr { kind: SELF_PARAM, range: 126526..126535 }, SyntaxNodePtr { kind: PARAM, range: 126537..126545 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 126586..126651 }, SyntaxNodePtr { kind: SELF_PARAM, range: 128398..128407 }, SyntaxNodePtr { kind: PARAM, range: 128409..128418 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 128452..128494 }, SyntaxNodePtr { kind: SELF_PARAM, range: 130358..130367 }, SyntaxNodePtr { kind: PARAM, range: 130369..130378 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 130411..131244 }, SyntaxNodePtr { kind: SELF_PARAM, range: 132183..132192 }, SyntaxNodePtr { kind: PARAM, range: 132194..132200 }, SyntaxNodePtr { kind: PARAM, range: 132202..132213 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 132246..132848 }, SyntaxNodePtr { kind: SELF_PARAM, range: 134373..134382 }, SyntaxNodePtr { kind: PARAM, range: 134384..134399 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 134401..134837 }, SyntaxNodePtr { kind: SELF_PARAM, range: 134960..134965 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 134985..136583 }, SyntaxNodePtr { kind: SELF_PARAM, range: 138212..138217 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 138241..139714 }, SyntaxNodePtr { kind: SELF_PARAM, range: 141371..141380 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 141416..143368 }, SyntaxNodePtr { kind: SELF_PARAM, range: 145760..145765 }, SyntaxNodePtr { kind: CONST_ARG, range: 145846..145851 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 145947..146461 }, SyntaxNodePtr { kind: SELF_PARAM, range: 147890..147899 }, SyntaxNodePtr { kind: CONST_ARG, range: 147992..147997 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 148093..148611 }, SyntaxNodePtr { kind: SELF_PARAM, range: 149520..149525 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 149572..149630 }, SyntaxNodePtr { kind: SELF_PARAM, range: 150158..150166 }, SyntaxNodePtr { kind: PARAM, range: 150168..150182 }, SyntaxNodePtr { kind: PARAM, range: 150219..150224 }, SyntaxNodePtr { kind: PARAM, range: 150226..150231 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 150258..150353 }, SyntaxNodePtr { kind: SELF_PARAM, range: 151126..151134 }, SyntaxNodePtr { kind: PARAM, range: 151136..151140 }, SyntaxNodePtr { kind: PARAM, range: 151177..151182 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 151217..151264 }, SyntaxNodePtr { kind: SELF_PARAM, range: 153397..153402 }, SyntaxNodePtr { kind: PARAM, range: 153404..153415 }, SyntaxNodePtr { kind: PARAM, range: 153453..153455 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 153470..153571 }, SyntaxNodePtr { kind: SELF_PARAM, range: 155208..155227 }, SyntaxNodePtr { kind: PARAM, range: 155229..155237 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 155259..155705 }, SyntaxNodePtr { kind: SELF_PARAM, range: 157432..157455 }, SyntaxNodePtr { kind: PARAM, range: 157465..157473 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 157505..157966 }, SyntaxNodePtr { kind: SELF_PARAM, range: 158482..158501 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 158520..158616 }, SyntaxNodePtr { kind: SELF_PARAM, range: 159178..159201 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 159224..159335 }, SyntaxNodePtr { kind: SELF_PARAM, range: 159846..159865 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 159884..159977 }, SyntaxNodePtr { kind: SELF_PARAM, range: 160533..160556 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 160579..160687 }, SyntaxNodePtr { kind: SELF_PARAM, range: 161625..161634 }, SyntaxNodePtr { kind: PARAM, range: 161644..161663 }, SyntaxNodePtr { kind: CONST_ARG, range: 161683..161684 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 161686..162473 }, SyntaxNodePtr { kind: SELF_PARAM, range: 163057..163066 }, SyntaxNodePtr { kind: PARAM, range: 163076..163095 }, SyntaxNodePtr { kind: CONST_ARG, range: 163122..163123 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 163146..163455 }, SyntaxNodePtr { kind: SELF_PARAM, range: 164530..164535 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 164545..164968 }, SyntaxNodePtr { kind: SELF_PARAM, range: 165839..165848 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 165862..166293 }, SyntaxNodePtr { kind: SELF_PARAM, range: 167157..167166 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 167168..167222 }, SyntaxNodePtr { kind: SELF_PARAM, range: 168086..168095 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 168097..168151 }, SyntaxNodePtr { kind: SELF_PARAM, range: 168203..168212 }, SyntaxNodePtr { kind: PARAM, range: 168214..168223 }, SyntaxNodePtr { kind: SELF_PARAM, range: 168335..168344 }, SyntaxNodePtr { kind: PARAM, range: 168346..168355 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 168357..168838 }, SyntaxNodePtr { kind: SELF_PARAM, range: 168939..168948 }, SyntaxNodePtr { kind: PARAM, range: 168950..168959 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 168961..169003 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 169137..169156 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 169313..169336 }, SyntaxNodePtr { kind: SELF_PARAM, range: 169887..169892 }, SyntaxNodePtr { kind: SELF_PARAM, range: 170049..170054 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 170073..170093 }, SyntaxNodePtr { kind: SELF_PARAM, range: 170250..170255 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 170274..170294 }, SyntaxNodePtr { kind: CONST_ARG, range: 170531..170532 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 170749..170865 }, SyntaxNodePtr { kind: SELF_PARAM, range: 171651..171656 }, SyntaxNodePtr { kind: PARAM, range: 171658..171684 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 171701..171774 }, SyntaxNodePtr { kind: SELF_PARAM, range: 171904..171909 }, SyntaxNodePtr { kind: PARAM, range: 171911..171937 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 171954..172059 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 5076..5091 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 5097..5105 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 5674..5689 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 5695..5703 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 6328..6351 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 6357..6365 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 7046..7069 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 7075..7083 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 7702..7724 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 7730..7738 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 8413..8435 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 8441..8449 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 8979..8993 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 8999..9007 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 9543..9557 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 9563..9571 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 10319..10347 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 10353..10572 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 11290..11318 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 11324..11632 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 12350..12378 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 12384..12754 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 13570..13598 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 13604..14056 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 14769..14797 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 14803..15184 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 15946..15974 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 15980..16443 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 17162..17190 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 17196..17648 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 18301..18329 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 18335..18879 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 21697..21735 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 23216..23262 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 27862..27894 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 29113..29145 }, SyntaxNodePtr { kind: MACRO_CALL, range: 30110..30136 }, SyntaxNodePtr { kind: MACRO_CALL, range: 30155..30181 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 30491..30540 }, SyntaxNodePtr { kind: MACRO_CALL, range: 31656..31819 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 31953..32018 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 32807..33005 }, SyntaxNodePtr { kind: FN, range: 33282..33908 }, SyntaxNodePtr { kind: MACRO_CALL, range: 37964..38019 }, SyntaxNodePtr { kind: MACRO_CALL, range: 39286..39341 }, SyntaxNodePtr { kind: MACRO_CALL, range: 40833..40888 }, SyntaxNodePtr { kind: MACRO_CALL, range: 42436..42491 }, SyntaxNodePtr { kind: MACRO_CALL, range: 43857..44048 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 44170..44205 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 44339..44395 }, SyntaxNodePtr { kind: MACRO_CALL, range: 45641..45687 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 45954..46000 }, SyntaxNodePtr { kind: MACRO_CALL, range: 46867..46913 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 47193..47239 }, SyntaxNodePtr { kind: MACRO_CALL, range: 48512..48558 }, SyntaxNodePtr { kind: MACRO_CALL, range: 50012..50203 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 50325..50360 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 50494..50558 }, SyntaxNodePtr { kind: MACRO_CALL, range: 51507..51553 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 51824..51874 }, SyntaxNodePtr { kind: MACRO_CALL, range: 52853..52899 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 53183..53233 }, SyntaxNodePtr { kind: MACRO_CALL, range: 54479..54525 }, SyntaxNodePtr { kind: MACRO_CALL, range: 55615..55662 }, SyntaxNodePtr { kind: MACRO_CALL, range: 56896..56951 }, SyntaxNodePtr { kind: MACRO_CALL, range: 58225..58280 }, SyntaxNodePtr { kind: MACRO_CALL, range: 59814..59869 }, SyntaxNodePtr { kind: MACRO_CALL, range: 61458..61513 }, SyntaxNodePtr { kind: MACRO_CALL, range: 65749..65775 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 65921..65960 }, SyntaxNodePtr { kind: MACRO_CALL, range: 66878..66904 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 67050..67093 }, SyntaxNodePtr { kind: MACRO_CALL, range: 69064..69204 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 69284..69362 }, SyntaxNodePtr { kind: MACRO_CALL, range: 70970..71114 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 71321..71407 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 72741..72788 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 73867..73920 }, SyntaxNodePtr { kind: MACRO_CALL, range: 75152..75176 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 75324..75371 }, SyntaxNodePtr { kind: MACRO_CALL, range: 76332..76356 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 76512..76565 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 92001..92142 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 93252..93399 }, SyntaxNodePtr { kind: PARAM, range: 96520..96521 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 99041..100087 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 100229..100285 }, SyntaxNodePtr { kind: PARAM, range: 102922..102923 }, SyntaxNodePtr { kind: PARAM, range: 106545..106546 }, SyntaxNodePtr { kind: PARAM, range: 106548..106549 }, SyntaxNodePtr { kind: PARAM, range: 108092..108093 }, SyntaxNodePtr { kind: PARAM, range: 108095..108096 }, SyntaxNodePtr { kind: PARAM, range: 112660..112665 }, SyntaxNodePtr { kind: PARAM, range: 112667..112672 }, SyntaxNodePtr { kind: PARAM, range: 115126..115131 }, SyntaxNodePtr { kind: PARAM, range: 115133..115138 }, SyntaxNodePtr { kind: PARAM, range: 116081..116082 }, SyntaxNodePtr { kind: PARAM, range: 116084..116085 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 119764..119811 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 120938..121538 }, SyntaxNodePtr { kind: PARAM, range: 122578..122579 }, SyntaxNodePtr { kind: PARAM, range: 122581..122582 }, SyntaxNodePtr { kind: MACRO_CALL, range: 123705..123731 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 123961..124031 }, SyntaxNodePtr { kind: MACRO_CALL, range: 125140..125164 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 125394..125464 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 126611..126645 }, SyntaxNodePtr { kind: FN, range: 130421..130812 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 130849..130914 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 131137..131238 }, SyntaxNodePtr { kind: MACRO_CALL, range: 132385..132445 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 132575..132842 }, SyntaxNodePtr { kind: MACRO_CALL, range: 134411..134501 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 134724..134831 }, SyntaxNodePtr { kind: FN, range: 134995..136026 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 136176..136231 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 138348..138473 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 138732..138794 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 138827..138867 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 138873..139708 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 141523..141656 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 142319..142381 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 142414..142462 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 142468..143362 }, SyntaxNodePtr { kind: MACRO_CALL, range: 146189..146263 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 146429..146455 }, SyntaxNodePtr { kind: MACRO_CALL, range: 148335..148409 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 148575..148605 }, SyntaxNodePtr { kind: PARAM, range: 149601..149602 }, SyntaxNodePtr { kind: PARAM, range: 149604..149605 }, SyntaxNodePtr { kind: PARAM, range: 150294..150300 }, SyntaxNodePtr { kind: PARAM, range: 153503..153504 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 153517..153525 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 153531..153542 }, SyntaxNodePtr { kind: PARAM, range: 153560..153561 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 155360..155396 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 155511..155584 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 155616..155689 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 157606..157642 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 157772..157845 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 157877..157950 }, SyntaxNodePtr { kind: CONST_ARG, range: 161661..161662 }, SyntaxNodePtr { kind: CONST_ARG, range: 162047..162048 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 162237..162467 }, SyntaxNodePtr { kind: CONST_ARG, range: 163093..163094 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 163203..163272 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 163398..163449 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 164578..164656 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 164662..164843 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 164910..164962 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 165895..165973 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 165979..166160 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 166227..166287 }, SyntaxNodePtr { kind: MACRO_CALL, range: 168367..168455 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 168780..168832 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 170814..170859 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 10516..10561 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 11570..11621 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 12487..12524 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 12690..12736 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 13707..13748 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 13986..14038 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 14905..14955 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 15121..15166 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 16082..16136 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 16374..16425 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 17375..17427 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 17592..17637 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 18514..18570 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 18817..18868 }, SyntaxNodePtr { kind: PARAM, range: 33314..33325 }, SyntaxNodePtr { kind: PARAM, range: 33327..33338 }, SyntaxNodePtr { kind: PARAM, range: 33340..33348 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 33350..33908 }, SyntaxNodePtr { kind: CONST_ARG, range: 72779..72780 }, SyntaxNodePtr { kind: CONST_ARG, range: 73911..73912 }, SyntaxNodePtr { kind: CONST_ARG, range: 75365..75366 }, SyntaxNodePtr { kind: CONST_ARG, range: 76559..76560 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 92082..92132 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 93339..93389 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 99414..99448 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 99746..99757 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 99763..99771 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 99811..99818 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 99824..99833 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 99863..100043 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 121039..121528 }, SyntaxNodePtr { kind: PARAM, range: 130606..130620 }, SyntaxNodePtr { kind: PARAM, range: 130622..130636 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 130643..130812 }, SyntaxNodePtr { kind: PARAM, range: 135935..135943 }, SyntaxNodePtr { kind: PARAM, range: 135945..135953 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 135964..136026 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 139459..139698 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 143121..143352 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 162272..162427 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 164795..164833 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 166112..166150 }, SyntaxNodePtr { kind: CONST_ARG, range: 10556..10557 }, SyntaxNodePtr { kind: CONST_ARG, range: 11616..11617 }, SyntaxNodePtr { kind: CONST_ARG, range: 12731..12732 }, SyntaxNodePtr { kind: CONST_ARG, range: 14033..14034 }, SyntaxNodePtr { kind: CONST_ARG, range: 15161..15162 }, SyntaxNodePtr { kind: CONST_ARG, range: 16420..16421 }, SyntaxNodePtr { kind: CONST_ARG, range: 17632..17633 }, SyntaxNodePtr { kind: CONST_ARG, range: 18863..18864 }, SyntaxNodePtr { kind: MACRO_CALL, range: 33364..33391 }, SyntaxNodePtr { kind: MACRO_CALL, range: 33405..33432 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 33802..33898 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 99942..99996 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 121224..121482 }, SyntaxNodePtr { kind: MACRO_CALL, range: 130657..130801 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 135988..135993 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 135999..136016 }, SyntaxNodePtr { kind: BLOCK_EXPR, range: 121273..121427 }]
[stderr] stack backtrace:
[stderr]    0: rust_begin_unwind
[stderr]              at /rustc/eeff92ad32c2627876112ccfe812e19d38494087/library/std/src/panicking.rs:645:5
[stderr]    1: core::panicking::panic_fmt
[stderr]              at /rustc/eeff92ad32c2627876112ccfe812e19d38494087/library/core/src/panicking.rs:72:14
[stderr]    2: hir_expand::ast_id_map::AstIdMap::erased_ast_id
[stderr]    3: hir_def::lower::LowerCtx::ast_id
[stderr]    4: hir_def::hir::type_ref::ConstRef::from_const_arg
[stderr]    5: hir_def::hir::type_ref::TypeRef::from_ast
[stderr]    6: hir_def::path::lower::lower_generic_args
[stderr]    7: hir_def::path::lower::lower_path
[stderr]    7: hir_def::path::lower::lower_path
[stderr]    8: hir::semantics::SemanticsScope::speculative_resolve
[stderr]    9: ide_db::path_transform::Ctx::transform_path
[stderr]   10: ide_db::path_transform::Ctx::apply
[stderr]   11: ide_db::path_transform::PathTransform::apply
[stderr]   12: ide_assists::assist_context::Assists::add_group::{{closure}}
[stderr]   13: ide_assists::assist_context::Assists::add_impl
[stderr]   14: ide_assists::assist_context::Assists::add_group
[stderr]   15: ide_assists::handlers::generate_delegate_methods::generate_delegate_methods
[stderr]   16: ide_assists::assists
[stderr]   17: std::panicking::try
[stderr]   18: ide::Analysis::with_db
[stderr]   19: ide::Analysis::assists_with_fixes
[stderr]   20: rust_analyzer::handlers::request::handle_code_action_resolve
[stderr]   21: std::panicking::try
[stderr]   22: core::ops::function::FnOnce::call_once{{vtable.shim}}
[stderr] note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
@roife roife added the C-bug Category: bug label Jan 6, 2024
@roife
Copy link
Contributor Author

roife commented Jan 6, 2024

I have identified the cause of this bug and am currently working on fixing it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant