Avatar
omochimetaru 3/12/2019 2:11 AM
そもそも、: some Foo をつけずに var a = foo1() let b = foo2() a = b // エラー
2:11 AM
これだったら、普通のことだから、
2:11 AM
そこの特殊性が some という新しいキーワードによって表現されていて (edited)
2:12 AM
これまでにRustぐらいでしかない概念だからなじまないだけで、プログラマの常識がアップデート前だから変に感じちゃうだけな気もする。
2:13 AM
エラーメッセージでは関数名まで含んだ匿名な型名が出てくるしそこで理解できる気も。
as! (__opaque main.(file).S.foo()
2:14 AM
func makeColl<X: Foo>() -> <C: Collection where C.Element == X> C where X.Bar == Int ↑これを推してる人もいるっぽいですね。明示的なCが手に入るのが良いところ