Avatar
omochimetaru 4/12/2020 1:53 PM
ただこれ個人的には仮に汎用化しても微妙だと思ってて
1:54 PM
診断メッセージが出るところだけみたらうまく動いてるんですけど
1:54 PM
握りつぶしてメッセージをすり替えているので、 内部的には、メッセージとは異なるエラーが生成されているんですけど
1:54 PM
それがオーバーロード選択と関係しているんですよね
1:55 PM
だから、まあ例えば 片方の func f は エラーペナルティが2点, もう一つは エラーペナルティが3点だったとしたら、 (edited)
1:56 PM
この仕組は後者の3点のケースで、まるで1点の状況かのように出力だけいじってるんですよ
1:56 PM
だから、一つずつ実行すると、片方は2点、もう片方は1点の出力になるのに
1:56 PM
オーバーロード選択させると、なぜか成績の悪い2点の方の結果がでる
1:56 PM
という事が起こりえます。
1:57 PM
1点に見える呼び出しが内部的には3点だからです。
1:59 PM
昨日も書いたように本当に改善するならラベルマッチの時点で型情報が必要なので型推論の設計修正が必要で大変。