CG5RNAW2P3YGSOHXBQNA2VADTPATOHS6QPMVP2BPP6VDHOTD5WLAC
6KSEVOELHCTDGUSDGFBFSTHT5FTUDFXAPWAI25MDZRTHMAQBHOQQC
SMJRGTCNGKJTL7EVIRBY52UZP7FWQR6PLM7NWQFYOX2LI4A6UCEAC
trait Diffable<T> {
trait Diffable {
}impl Diffable for i32 { type Diff = i32; fn diff(self: &i32, other: &i32) -> i32 { *other } fn patch(self: &mut i32, other: i32) { *self = other; }
}
impl Diffable for i32 {
type Diff = i32;
fn diff(self: &i32, other: &i32) -> i32 {
*other
fn patch(self: &mut i32, other: i32) {
*self = other;
println!("Hello, world!");
// Trivial (atomic) diff and patching operation: let mut x = 42; println!("x is {}", &x); let diff = x.diff(&43); x.patch(diff); println!("After patching x is: {}", &x);
// Trivial (atomic) diff and patching operation:
let mut x = 42;
println!("x is {}", &x);
let diff = x.diff(&43);
x.patch(diff);
println!("After patching x is: {}", &x);