]> git.lizzy.rs Git - rust.git/commitdiff
Some final cleanup
authorAaron Hill <aa1ronham@gmail.com>
Tue, 9 Apr 2019 19:49:34 +0000 (15:49 -0400)
committerAaron Hill <aa1ronham@gmail.com>
Tue, 9 Apr 2019 19:49:34 +0000 (15:49 -0400)
src/fn_call.rs
src/lib.rs

index 3eacaaa74e65324677cbd81e1d01475fbb93caea..50351e2c70454ddf82294e8fcc6fa1f1a8c23575 100644 (file)
@@ -213,11 +213,11 @@ fn emulate_foreign_item(
             "syscall" => {
                 let sys_getrandom = this.eval_path_scalar(&["libc", "SYS_getrandom"])?
                     .expect("Failed to get libc::SYS_getrandom")
-                    .to_usize(this)? as i64;
+                    .to_usize(this)?;
 
                 // `libc::syscall(NR_GETRANDOM, buf.as_mut_ptr(), buf.len(), GRND_NONBLOCK)`
                 // is called if a `HashMap` is created the regular way (e.g. HashMap<K, V>).
-                match this.read_scalar(args[0])?.to_usize(this)? as i64 {
+                match this.read_scalar(args[0])?.to_usize(this)? {
                     id if id == sys_getrandom => {
                         let ptr = this.read_scalar(args[1])?.to_ptr()?;
                         let len = this.read_scalar(args[2])?.to_usize(this)?;
@@ -795,13 +795,15 @@ fn eval_path_scalar(&mut self, path: &[&str]) -> EvalResult<'tcx, Option<ScalarM
     }
 }
 
-fn gen_random<'a, 'mir, 'tcx>(this: &mut MiriEvalContext<'a, 'mir, 'tcx>,
-                                 len: usize) -> Result<Vec<u8>, EvalError<'tcx>>  {
+fn gen_random<'a, 'mir, 'tcx>(
+    this: &mut MiriEvalContext<'a, 'mir, 'tcx>,
+    len: usize,
+) -> Result<Vec<u8>, EvalError<'tcx>>  {
 
-    match this.machine.rng.as_ref() {
+    match &mut this.machine.rng {
         Some(rng) => {
             let mut data = vec![0; len];
-            rng.borrow_mut().fill_bytes(&mut data);
+            rng.fill_bytes(&mut data);
             Ok(data)
         }
         None => {
index 9b4b69b6d707270883bf52f69f70a7857b709c82..d185ec610c9a5eb0df60c3201633460f762087db 100644 (file)
@@ -23,7 +23,6 @@
 
 use std::collections::HashMap;
 use std::borrow::Cow;
-use std::cell::RefCell;
 
 use rand::rngs::StdRng;
 use rand::SeedableRng;
@@ -336,7 +335,7 @@ pub struct Evaluator<'tcx> {
 
     /// The random number generator to use if Miri
     /// is running in non-deterministic mode
-    pub(crate) rng: Option<RefCell<StdRng>>
+    pub(crate) rng: Option<StdRng>
 }
 
 impl<'tcx> Evaluator<'tcx> {
@@ -350,7 +349,7 @@ fn new(validate: bool, seed: Option<u64>) -> Self {
             tls: TlsData::default(),
             validate,
             stacked_borrows: stacked_borrows::State::default(),
-            rng: seed.map(|s| RefCell::new(StdRng::seed_from_u64(s)))
+            rng: seed.map(|s| StdRng::seed_from_u64(s))
         }
     }
 }