Э
Особенно на редком языке, для которого эту самую генерацию не полировали годами.
2) да, там есть баги, но ты в них не упрёшься, скорее всего.
Size: a a a
Э
RS
EG
RS
EG
V
EG
V
EG
Struct {
x: Smth::new(),
y: Smth::new(),
z: panic!()
}EG
Struct {
x: Smth::new(),
y: Smth::new(),
z: panic!()
}let x = Smth::new();
let y = Smth::new();
let z = panic!();
Struct { x, y, z }
KB
L
#[allow(...)]?EG
#[allow(...)]?#[rustfmt::skip]?L
D
#[allow(...)]?EG
fn serve(&mut self, func: impl Fn(Arg) + Send + Sync + 'static) {
let mut pool = scoped_threadpool::Pool::new();
pool.scoped(|scope| loop {
let arg = self.get_arg();
scope.execute(|| func(arg));
});
}EG
fn serve(&mut self, func: impl Fn(Arg) + Send + Sync + 'static) {
let mut pool = scoped_threadpool::Pool::new();
pool.scoped(|scope| loop {
let arg = self.get_arg();
scope.execute(|| func(arg));
});
}func() может фейлится. Как идиоматично поступать с её потенциальной ошибкой?EG
serve() из-за ошибки в одной функции, но совсем не обрабатывать как-то тоже не очень хорошо.on_error: impl Fn(E) + Send + Sync + 'static, но тогда вызов будет несколько вербознымЭ
serve() из-за ошибки в одной функции, но совсем не обрабатывать как-то тоже не очень хорошо.on_error: impl Fn(E) + Send + Sync + 'static, но тогда вызов будет несколько вербознымEG