Gonna be a little late to work this morning, but oh so worth it:
cargo run -- src/main.rs --crate-name borrow_bounds --crate-type bin -g -C metadata=872fa14f57985af3 --out-dir /Users/paul/programming/playground/rust/borrow_bounds/target/debug --emit=dep-info,link -L dependency=/Users/paul/programming/playground/rust/borrow_bounds/target/debug/deps --extern error_chain=/Users/paul/programming/playground/rust/borrow_bounds/target/debug/deps/liberror_chain-554f08ea2cb4f0f5.rlib --extern regex=/Users/paul/programming/playground/rust/borrow_bounds/target/debug/deps/libregex-a99351f81f55a22d.rlib --sysroot=$(rustc --print sysroot)
Finished debug [unoptimized + debuginfo] target(s) in 0.0 secs
Running `target/debug/borrow_bounds src/main.rs --crate-name borrow_bounds --crate-type bin -g -C metadata=872fa14f57985af3 --out-dir /Users/paul/programming/playground/rust/borrow_bounds/target/debug --emit=dep-info,link -L dependency=/Users/paul/programming/playground/rust/borrow_bounds/target/debug/deps --extern error_chain=/Users/paul/programming/playground/rust/borrow_bounds/target/debug/deps/liberror_chain-554f08ea2cb4f0f5.rlib --extern regex=/Users/paul/programming/playground/rust/borrow_bounds/target/debug/deps/libregex-a99351f81f55a22d.rlib --sysroot=/Users/paul/programming/rust/x86_64-apple-darwin/stage2`
Looking at nodeid 100
lo: 1292, hi: 1295
found matching block: NodeLocal(pat(100: tcx))
Found 16 loans within fn identified by 100:
NodeLocal(pat(100: tcx))
NodeExpr(expr(185: move |compile_state: &mut driver::CompileState| {
let tcx =
... lots more lines ...
ImmBorrow: Some(src/main.rs:56:18: 56:21)-Some(src/main.rs:52:38: 56:22)
ImmBorrow: Some(src/main.rs:57:80: 57:103)-Some(src/main.rs:57:80: 57:109)
ImmBorrow: Some(src/main.rs:57:111: 57:118)-Some(src/main.rs:57:111: 57:127)
ImmBorrow: Some(src/main.rs:57:129: 57:133)-Some(<std macros>:2:1: 2:60)
ImmBorrow: Some(src/main.rs:57:135: 57:142)-Some(<std macros>:2:1: 2:60)
MutBorrow: Some(src/main.rs:60:13: 69:14)-Some(src/main.rs:60:13: 69:14)
ImmBorrow: Some(src/main.rs:61:38: 61:42)-Some(src/main.rs:61:38: 61:49)
ImmBorrow: Some(src/main.rs:66:32: 66:36)-Some(src/main.rs:66:32: 66:48)
ImmBorrow: Some(src/main.rs:66:55: 66:58)-Some(src/main.rs:66:55: 66:58)
ImmBorrow: Some(src/main.rs:66:73: 66:76)-Some(src/main.rs:66:73: 66:76)
ImmBorrow: Some(src/main.rs:67:33: 67:37)-Some(src/main.rs:67:33: 67:50)
ImmBorrow: Some(src/main.rs:67:57: 67:60)-Some(src/main.rs:67:57: 67:60)
ImmBorrow: Some(src/main.rs:67:75: 67:78)-Some(src/main.rs:67:75: 67:78)
ImmBorrow: Some(src/main.rs:68:70: 68:78)-Some(<std macros>:2:1: 2:60)
ImmBorrow: Some(src/main.rs:68:80: 68:88)-Some(<std macros>:2:1: 2:60)
ImmBorrow: Some(src/main.rs:68:90: 68:99)-Some(<std macros>:2:1: 2:60)
Iāve got to be somewhere immediately after work, but once Iām home Iāll try to clean this up and push to github. This should give us something to work with finally for the plugins. Iāll need to filter more, like only showing the borrows for the currently matching nodeid, but it shouldnāt be too hard from now.