Skip to content

Commit a9e2cc9

Browse files
authored
Merge pull request RustPython#714 from RustPython/coolreader18/immutable-vm-ref
Convert all &mut VirtualMachine to &VirtualMachine
2 parents e7eff34 + 79666c2 commit a9e2cc9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+818
-922
lines changed

derive/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ fn impl_from_args(input: &DeriveInput) -> TokenStream2 {
3838
quote! {
3939
impl crate::function::FromArgs for #name {
4040
fn from_args(
41-
vm: &mut crate::vm::VirtualMachine,
41+
vm: &crate::vm::VirtualMachine,
4242
args: &mut crate::function::PyFuncArgs
4343
) -> Result<Self, crate::function::ArgumentError> {
4444
Ok(#name { #(#fields)* })

src/main.rs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -45,26 +45,26 @@ fn main() {
4545
.get_matches();
4646

4747
// Construct vm:
48-
let mut vm = VirtualMachine::new();
48+
let vm = VirtualMachine::new();
4949

5050
// Figure out if a -c option was given:
5151
let result = if let Some(command) = matches.value_of("c") {
52-
run_command(&mut vm, command.to_string())
52+
run_command(&vm, command.to_string())
5353
} else if let Some(module) = matches.value_of("m") {
54-
run_module(&mut vm, module)
54+
run_module(&vm, module)
5555
} else {
5656
// Figure out if a script was passed:
5757
match matches.value_of("script") {
58-
None => run_shell(&mut vm),
59-
Some(filename) => run_script(&mut vm, filename),
58+
None => run_shell(&vm),
59+
Some(filename) => run_script(&vm, filename),
6060
}
6161
};
6262

6363
// See if any exception leaked out:
64-
handle_exception(&mut vm, result);
64+
handle_exception(&vm, result);
6565
}
6666

67-
fn _run_string(vm: &mut VirtualMachine, source: &str, source_path: String) -> PyResult {
67+
fn _run_string(vm: &VirtualMachine, source: &str, source_path: String) -> PyResult {
6868
let code_obj = compile::compile(
6969
source,
7070
&compile::Mode::Exec,
@@ -80,28 +80,28 @@ fn _run_string(vm: &mut VirtualMachine, source: &str, source_path: String) -> Py
8080
vm.run_code_obj(code_obj, vars)
8181
}
8282

83-
fn handle_exception(vm: &mut VirtualMachine, result: PyResult) {
83+
fn handle_exception(vm: &VirtualMachine, result: PyResult) {
8484
if let Err(err) = result {
8585
print_exception(vm, &err);
8686
std::process::exit(1);
8787
}
8888
}
8989

90-
fn run_command(vm: &mut VirtualMachine, mut source: String) -> PyResult {
90+
fn run_command(vm: &VirtualMachine, mut source: String) -> PyResult {
9191
debug!("Running command {}", source);
9292

9393
// This works around https://github.com/RustPython/RustPython/issues/17
9494
source.push('\n');
9595
_run_string(vm, &source, "<stdin>".to_string())
9696
}
9797

98-
fn run_module(vm: &mut VirtualMachine, module: &str) -> PyResult {
98+
fn run_module(vm: &VirtualMachine, module: &str) -> PyResult {
9999
debug!("Running module {}", module);
100100
let current_path = PathBuf::from(".");
101101
import::import_module(vm, current_path, module)
102102
}
103103

104-
fn run_script(vm: &mut VirtualMachine, script_file: &str) -> PyResult {
104+
fn run_script(vm: &VirtualMachine, script_file: &str) -> PyResult {
105105
debug!("Running file {}", script_file);
106106
// Parse an ast from it:
107107
let file_path = Path::new(script_file);
@@ -114,7 +114,7 @@ fn run_script(vm: &mut VirtualMachine, script_file: &str) -> PyResult {
114114
}
115115
}
116116

117-
fn shell_exec(vm: &mut VirtualMachine, source: &str, scope: Scope) -> Result<(), CompileError> {
117+
fn shell_exec(vm: &VirtualMachine, source: &str, scope: Scope) -> Result<(), CompileError> {
118118
match compile::compile(
119119
source,
120120
&compile::Mode::Single,
@@ -153,7 +153,7 @@ fn get_history_path() -> PathBuf {
153153
xdg_dirs.place_cache_file("repl_history.txt").unwrap()
154154
}
155155

156-
fn run_shell(vm: &mut VirtualMachine) -> PyResult {
156+
fn run_shell(vm: &VirtualMachine) -> PyResult {
157157
println!(
158158
"Welcome to the magnificent Rust Python {} interpreter",
159159
crate_version!()

0 commit comments

Comments
 (0)