DanielKeep / cargo-script

Cargo script subcommand
Other
729 stars 37 forks source link

Incorrect caching of `expr` #64

Open scooter-dangle opened 5 years ago

scooter-dangle commented 5 years ago

When re-running a script supplied via the --expr flag, cargo script will often return the most recent of any cached results rather than the result of the actual argument.

(The following example starts in fish. Switches to bash in case fish was doing something odd.)

~/s/r/cargo-script (master|✔)> cargo script --expr '2 + 3'
   Compiling expr v0.1.0 (/Users/scott/.cargo/script-cache/expr-159ccec4a4d6f466)
    Finished release [optimized] target(s) in 2.02s
5
~/s/r/cargo-script (master|✔)> cargo script --expr '2 + 2'
4
~/s/r/cargo-script (master|✔)> cargo script --expr '2 + 3'
4
~/s/r/cargo-script (master|✔)> bash
bash-3.2$ which cargo
/Users/scott/.cargo/bin/cargo
bash-3.2$ cargo script --expr '2 + 3'
4
bash-3.2$ cargo script --expr '2 + 2'
4
bash-3.2$ cargo script --expr '2 + 1'
3
bash-3.2$ cargo script --expr '2 + 3'
3

Installed via cargo install --force (had previously installed both 2.7 and 2.8) from master:

~/s/r/cargo-script (master|✔)> git rev-parse HEAD
614e60e5932e218ebff1e471303eb0d59870d03b

Re-verified the behavior after running cargo script --clear-cache.