Mutating functions are not supported on structs
還沒有人認領這個 Issue。
評估
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 新手友好度
- 52/100
- Issue 類型
- 缺陷
- 描述清晰度
- 基本清楚
- 活躍度
- 冷清
- 技術堆疊
- javascript, swift, wasm
研究方向
先從 issue 中所示的 @JS struct 處理和產生的 _bjs_Counter_increment wrapper 開始,然後使用 Counter 範例重現編譯失敗。完成標準是:具有 mutating function 的 @JS struct 能產生可為 WebAssembly 成功編譯的程式碼。
由索引模型根據 Issue 內容生成。
描述
Marking a mutating function on a structure @JS results in a compilation failure in the generated code.
For example, this struct generates code which fails to compile.
@JS struct Counter {
var number: Int
@JS public mutating func increment() {
number += 1
}
}
@_expose(wasm, "bjs_Counter_increment")
@_cdecl("bjs_Counter_increment")
public func _bjs_Counter_increment() -> Void {
#if arch(wasm32)
Counter.bridgeJSLiftParameter().increment() // error: cannot use mutating member on immutable value: function call returns immutable value
#else
fatalError("Only available on WebAssembly")
#endif
}
- 主要語言
- Swift
- 星號
- 986
- 分支
- 76
- 平均合併
- 21 小時 11 分鐘
- 30 天內合併 PR
- 4
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
swiftwasm/JavaScriptKit 的其他 Issue
-
難度 3/5 1-2 天 新手友好度 55/100
swiftwasm/JavaScriptKit#793 ·
-
swiftwasm/JavaScriptKit#785 · 已指派 1 人 ·
-
[SwiftBuild] Preserve duplicate archive members when SwiftBuild expands static archives for linking 未關閉
難度 4/5 3-5 天 新手友好度 48/100
swiftwasm/JavaScriptKit#781 · 3 則留言 ·
-
難度 4/5 3-5 天 新手友好度 25/100
swiftwasm/JavaScriptKit#773 ·
-
swiftwasm/JavaScriptKit#767 · 已指派 1 人 ·
查看 swiftwasm/JavaScriptKit 的全部 Issue
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 75/100
-
難度 2/5 1-3 小時 新手友好度 75/100
-
難度 2/5 1-3 小時 新手友好度 75/100
maxgoedjen/secretive#840 ·
-
難度 2/5 1-3 小時 新手友好度 88/100
manaflow-ai/cmux#13763 ·
-
難度 2/5 1-3 小時 新手友好度 75/100
openwallet-foundation/multipaz#2028 ·