読者です 読者をやめる 読者になる 読者になる

Protocol-oriented integers

原文

swift-evolution/0104-improved-integers.md at 957ab545e05adb94507792e7871b38e34b56a0a5 · apple/swift-evolution · GitHub

整数のプロトコル指向

Swift整数型APIを整理し、ジェネリクスプログラミングのためにそれらをより使いやすくする提案。 ビットシフトや足し算といったArithmetic(算術) プロトコルを定義する。今までの演算子は異なる型で演算できなかった。例えば下の例では、Int8とIntが異なるのでビットシフトと比較がコンパイルエラーになる。型を合わせるのが手間でした。

var x: Int8 = 42
let y = 1
let z = 0

x <<= y   // error: binary operator '<<=' cannot be applied to operands of type 'Int8' and 'Int'
if x > z { ... }  // error: binary operator '>' cannot be applied to operands of type 'Int8' and 'Int'

読みきれていないのでそのうち追記する