Avatar
omochimetaru 4/25/2019 3:45 AM
This is necessary because: func foo() -> some P func foo() -> some P theoretically defines two distinct return types, but there'd be no way to disambiguate them. Disallow ove...
3:46 AM
Opaque Result Type を持つ関数が、返り値の型のジェネリックシグネチャをmanglingに含めていなくて
3:46 AM
返り値オーバーロードができない(コンパイラクラッシュ)んだけど
3:46 AM
それを正式にsemaで禁止するようにするPR↑ (edited)
3:46 AM
未実装なのかと思って様子を見てたけど、意図的な設計だったっぽい
3:47 AM
I was also trying to prevent:
func foo() -> some P func foo() -> some Q
since there would still be no way to disambiguate these.
(edited)
3:47 AM
これ正しいのかなぁ
3:47 AM
特にGenericsの場合はシグネチャがオーバーロードに絡んでるんだけど
3:48 AM
ORTがReverse Genericsのsugarであるという解釈の元で
3:48 AM
おかしくならんのだろうか