You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 6, 2020. It is now read-only.
warning[E0382]: assign to part of moved value: `engine`
--> ethcore/src/engines/clique/mod.rs:204:4
|
190 |let mut engine = Clique {
| ---------- move occurs because `engine` has type`engines::clique::Clique`, which does not implement the `Copy` trait
...
201 |let res = Arc::new(engine);| ------ value moved here
...
204 | engine.step_service = Some(StepService::start(Arc::downgrade(&res) as Weak<Engine<_>>));| ^^^^^^^^^^^^^^^^^^^ value partially assigned here after move
= warning: this error has been downgraded to a warning for backwards compatibility with previous releases
= warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future
To elaborate a bit, basically we mutate an already value moved into the Arc and this should not compile IMHO.
So, I would suggest to move the StepService into Clique instead because it is not safe/possible to mutate an Arc when it is aliased (i.e, more than 1 is pointing to it)