3 #![allow(non_snake_case)]
8 fn SetX(&mut self, _
: S
);
12 trait Movable
<S
: Add
<Output
=S
>>: Positioned
<S
> {
13 fn translate(&mut self, dx
: S
) {
14 let x
= self.X() + dx
;
19 struct Point { x: isize, y: isize }
21 impl Positioned
<isize> for Point
{
22 fn SetX(&mut self, x
: isize) {
25 fn X(&self) -> isize {
30 impl Movable
<isize> for Point {}
33 let mut p
= Point{ x: 1, y: 2}
;