EG
Size: a a a
EG
AZ
unsafe fn extend_lifetime<'a, T>(val: &'a T) -> &'static T {
std::mem::transmute(val)
}
AZ
EG
SP
EG
AZ
AZ
a0 = const; ai = a(i-1)+k; an = const;
где an - последний элемент в множествеAZ
let mut a = a0
let mut b = b0;
let result = Vec::new();
while a < an && b < bn {
match a.cmp(b) {
Less => { a = next_a(a) },
Greater => { b = next_b(b) },
Equal => {
result.push(a);
a = next_a(a);
b = next_b(b)
}
}
}
e
e
p
function
.Arc<dyn Fn>
и это проблематично тем, что потом неясно, как делать модулиp
let mut a = a0
let mut b = b0;
let result = Vec::new();
while a < an && b < bn {
match a.cmp(b) {
Less => { a = next_a(a) },
Greater => { b = next_b(b) },
Equal => {
result.push(a);
a = next_a(a);
b = next_b(b)
}
}
}
EG
Arc::new(Value {
// other fields
kind: ValueKind::Function(Function {
call: Arc<dyn Fn>,
name: Cow<str>
})
})
EG
call
у меня Arc<dyn Fn>
, а не Box<dyn Fn>
, может и нипочемуEG
p
Arc::new(Value {
// other fields
kind: ValueKind::Function(Function {
call: Arc<dyn Fn>,
name: Cow<str>
})
})
EG
EG
def
?p