gleam-lang/gleam

LSP: Renaming aliased value when alias has same name breaks alias

已關閉

#5,681 建立於 2026年5月3日

 (2 則留言) (0 個反應) (0 位負責人)Rust (960 個分叉)batch import
help wanted

倉庫指標

星標
 (21,417 顆星)
PR 合併指標
 (平均合併 10天 19小時) (30 天內合併 69 個 PR)

描述

Sorry, I know the title is hard to understand. An example will make much more sense:

// foo.gleam
pub type Foo { Bar }
//             ^^^ (a)

// main.gleam
import foo.{Bar as Bar}
//      (b) ^^^    ^^^ (c)
pub fn main() {
    let _ = Bar
    //      ^^^ (d)
}

To reproduce: Move the cursor over (a) and trigger a rename to a new name.

Expected outcome: (a) and (b) change to the new value, (c) and (d) remain unchanged.

Actual outcome: (a), (b), and (d) change to the new value. (c) remains Bar. However, since (d) changes to the new value as well, the rename causes an unknown variable error at (d).

Gleam version: 1.16.0 OS: macOS Tahoe 26.4 (25E246) Editor: helix 25.07.1 (a05c151b)

貢獻者指南