I assume the answer is no, but I've not found any definitive answer to this elsewhere so:
Is there any difference (at all, besides syntax) between P
and Q
here:
protocol P: FixedWidthInteger & UnsignedInteger {
// ...
}
protocol Q: FixedWidthInteger, UnsignedInteger {
// ...
}
or between foo
and bar
here:
func foo<T>(_ v: T) -> UInt8
where T: FixedWidthInteger & UnsignedInteger
{
return UInt8(v & 0xff)
}
func bar<T>(_ v: T) -> UInt8
where T: FixedWidthInteger, T: UnsignedInteger
{
return UInt8(v & 0xff)
}
?