Skip to content

Instantly share code, notes, and snippets.

@swgillespie
Created December 24, 2014 21:24
Show Gist options
  • Save swgillespie/09757697eb40e1f2f81c to your computer and use it in GitHub Desktop.
Save swgillespie/09757697eb40e1f2f81c to your computer and use it in GitHub Desktop.
Compiling lisp v0.0.1 (file:///home/sean/Documents/workspace/rust/lisp)
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:97:22: 97:43 error: cannot borrow `self.code_object.code` as immutable because `*self` is also borrowed as mutable
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:97 let op = self.code_object.code[self.instruction_pointer];
^~~~~~~~~~~~~~~~~~~~~
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:98:19: 98:23 note: previous borrow of `*self` occurs here; the mutable borrow prevents subsequent moves, borrows, or modification of `*self` until the borrow ends
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:98 match self.dispatch(op) {
^~~~
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:104:6: 104:6 note: previous borrow ends here
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:95 pub fn execute(&'a mut self) -> EvalResult<'a> {
...
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:104 }
^
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:97:44: 97:68 error: cannot borrow `self.instruction_pointer` as immutable because `*self` is also borrowed as mutable
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:97 let op = self.code_object.code[self.instruction_pointer];
^~~~~~~~~~~~~~~~~~~~~~~~
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:98:19: 98:23 note: previous borrow of `*self` occurs here; the mutable borrow prevents subsequent moves, borrows, or modification of `*self` until the borrow ends
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:98 match self.dispatch(op) {
^~~~
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:104:6: 104:6 note: previous borrow ends here
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:95 pub fn execute(&'a mut self) -> EvalResult<'a> {
...
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:104 }
^
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:98:19: 98:23 error: cannot borrow `*self` as mutable more than once at a time
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:98 match self.dispatch(op) {
^~~~
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:98:19: 98:23 note: previous borrow of `*self` occurs here; the mutable borrow prevents subsequent moves, borrows, or modification of `*self` until the borrow ends
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:98 match self.dispatch(op) {
^~~~
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:104:6: 104:6 note: previous borrow ends here
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:95 pub fn execute(&'a mut self) -> EvalResult<'a> {
...
/home/sean/Documents/workspace/rust/lisp/src/vm/vm.rs:104 }
^
error: aborting due to 3 previous errors
Could not compile `lisp`.
To learn more, run the command again with --verbose.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment