Julia: TypeVars في المجموعات في معلمات النوع

تم إنشاؤها على ١ ديسمبر ٢٠١٦  ·  3تعليقات  ·  مصدر: JuliaLang/julia

julia> type Foo{N} end

julia> Foo{(true, true)}
Foo{(true,true)}

julia> typealias Bar{N} Foo{N}
Foo{N}

julia> Bar{(true, true)}
Foo{(true,true)}

julia> typealias Baz Foo{(true, true)}
Foo{(true,true)}

julia> typealias Quuz{M, N} Foo{(M, N)}
TypeError: Foo: in parameter, expected Type{T}, got Tuple{TypeVar,TypeVar}

نعم ، من المفترض أن تكون هذه المجموعات عبارة عن مجموعات وليست من أنواع tuple. ألوم @ Keno (https://github.com/Keno/Cxx.jl/blob/master/src/cxxtypes.jl#L52).

أتوقع تمامًا أن يكون هذا غير مدعوم ، ولكن آمل أن يقوم Keno بتغيير (true, false, false) إلى Tuple{Val{true}, Val{false}, Val{false}} في Cxx.jl.

types and dispatch won't change

ال 3 كومينتر

في دفاعي كان هؤلاء هم نفس الشيء.

هذا شرعي. أنا أيضًا أحفر في تفاصيل تنفيذ Cxx من أجل إرسال أنواع Cxx ، والتي ربما كنت تأمل ألا يفعلها الناس.

Tuple{true, false, false} يعمل أيضًا (على الرغم من أنه غريب بعض الشيء لأنه لا يمكن أن يكون في الواقع نوع أي شيء).

يتم الإغلاق على أنه wontfix ، لأنني لا أعتقد أننا نخطط لنكون قادرين على القياس الكمي على المجموعات.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات