Я создаю игрушечный язык программирования с использованием ржавчины на https://github.com/ayushashi11/lang. В моем проекте в файле src / executor.rs в строке 12 компилятор говорит:
use of moved value: `self.prog`
move occured because self has type executor::Executor which doesn't implement the `Copy` trait.
Я не могу использовать признак копирования в Executor, поскольку его свойство prog имеет тип token :: Stmt, который не реализует copy черта. Я не могу реализовать свойство копирования в Stmt, потому что у него есть свойство с типом данных String, которое не реализует свойство копирования. Я пытался реализовать черту заимствования, используя производную, но он говорит, что не может найти макрос для черты заимствования.
Мой вопрос заключается в том, как мне реализовать черту заимствования / копирования для перечисления?
Я использую rust-nightly-1.42.0 для i686- windows -p c с GNU-toolchain