P
foo(Bar) -> Either<A,B>
отличается от B Bar.foo() throws A
?Size: a a a
P
foo(Bar) -> Either<A,B>
отличается от B Bar.foo() throws A
?А⚙
P
А⚙
foo(Bar) -> Either<A,B>
отличается от B Bar.foo() throws A
?P
А⚙
А⚙
P
А⚙
[0, 0]
— это литерал массива. [..]
— это индексация литералом RangeFull
, который возвращает слайс целиком. Массивы непосредственно Index{, Mut}<RangeFull>
, но они реализуют Deref{, Mut}<Target = [T]>
, поэтому массив за счёт deref coercion приводится к слайсу. Ну и так как слайс по значению передавать нельзя, от всего это берётся ссылка: &
А⚙
P
P
P
А⚙
А⚙
P
P
A
A
P