Julia: μœ ν˜• λ§€κ°œλ³€μˆ˜μ˜ νŠœν”Œμ— μžˆλŠ” TypeVars

에 λ§Œλ“  2016λ…„ 12μ›” 01일  Β·  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}

예, νŠœν”Œ μœ ν˜•μ΄ μ•„λ‹ˆλΌ νŠœν”Œμ΄μ–΄μ•Ό ν•©λ‹ˆλ‹€. @Kenoλ₯Ό λΉ„λ‚œ

λ‚˜λŠ” 이것이 μ§€μ›λ˜μ§€ μ•Šμ„ κ²ƒμœΌλ‘œ μ™„μ „νžˆ μ˜ˆμƒν•˜μ§€λ§Œ @Keno κ°€ (true, false, false) λ₯Ό Tuple{Val{true}, Val{false}, Val{false}} 둜 λ³€κ²½ν•˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

types and dispatch won't change

λͺ¨λ“  3 λŒ“κΈ€

λ‚΄ λ³€ν˜Έμ—μ„œ 그것듀은 ν•˜λ‚˜μ΄λ©° λ™μΌν–ˆμŠ΅λ‹ˆλ‹€.

그건 μ •λ‹Ήν•©λ‹ˆλ‹€. λ‚˜λŠ” λ˜ν•œ Cxx μœ ν˜•μ„ λ°œμ†‘ν•˜κΈ° μœ„ν•΄ Cxx κ΅¬ν˜„ μ„ΈλΆ€ 사항을 파고 μžˆλŠ”λ°, μ•„λ§ˆλ„ μ‚¬λžŒλ“€μ΄ ν•˜μ§€ μ•ŠκΈ°λ₯Ό λ°”λžμ„ κ²ƒμž…λ‹ˆλ‹€.

Tuple{true, false, false} 도 μž‘λ™ν•©λ‹ˆλ‹€(μ‹€μ œλ‘œ μ–΄λ–€ μœ ν˜•λ„ 될 수 μ—†κΈ° λ•Œλ¬Έμ— μ•½κ°„ μ΄μƒν•˜μ§€λ§Œ).

νŠœν”Œμ— λŒ€ν•΄ μˆ˜λŸ‰ν™”ν•  κ³„νšμ΄ μ—†λ‹€κ³  μƒκ°ν•˜κΈ° λ•Œλ¬Έμ— wontfix둜 μ’…λ£Œν•©λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰