相关疑难解决方法(0)

组合内联与显式成员约束时的奇怪错误

(更新:我添加了一个repro示例)

代码如下所示:

type Lib =
    static member inline tryMe (a: ^a) = 
        let name = (^a: (static member name: string) ())
        name

type Test =
    struct 
        val Value: string
        new v = {Value = v}
    end
    static member inline name with get() = "HiThere"
    static member works(a:Test) = Lib.tryMe a
Run Code Online (Sandbox Code Playgroud)

这将"正常工作"并编译.但是,如果你稍微扩展它,例如如下所示:

/// Does a bounds check and raises an error if bounds check is not met
let inline checkBounds f (g: 'b -> ^c) (tp: ^a) = 
    let convertFrom = …
Run Code Online (Sandbox Code Playgroud)

f# compiler-errors type-parameter

6
推荐指数
1
解决办法
84
查看次数

标签 统计

compiler-errors ×1

f# ×1

type-parameter ×1