Hello all,

i know that this issue is already covered by issues #9113 #6393 and #9113
but actually i have no solution. My code is a library for accessing
databases. In my example, the database represented by db containes a table
t with columns i:integer, f:float, t:text, b:blob.

Everything works fine except the following code used to test my library

match db.prepare_statement("SELECT i,f,t,b FROM t where t like ?;") {

Ok(mut st) => {

st.set_string(1, "%o%");

for i in st.execute_query() {

match i {

Ok(s)  => println!("{}:{}:{}:{}", s.get_long(0), s.get_double(1),
s.get_string(2), s.get_blob(3) ),

Err(e) => match e.detail {

Some(s) => println!("{}", s),

None => ()

}

}

}

st.set_string(1, "%e%"); * <- PROBLEM HERE*
for i in st.execute_query() {* <- PROBLEM HERE*

...
}

},
Err(e) => match e.detail {

None => (),

Some(s) => println!("{}", s)

}

}

The compilation error says

test-db.rs:71:8: 71:10 error: cannot borrow `st` as mutable more than once
at a time
test-db.rs:71
st.set_string(1, "%e%");
                                                                ^~
test-db.rs:61:17: 61:19 note: previous borrow of `st` occurs here; the
mutable borrow prevents subse
quent moves, borrows, or modification of `st` until the borrow ends
test-db.rs:61                                                   for i in
st.execute_query() {
                                                                         ^~
test-db.rs:88:7: 88:7 note: previous borrow ends here
test-db.rs:58                                   match
db.prepare_statement("SELECT i,f,t,b FROM t wh
ere t like ?;") {
...
test-db.rs:88                                   }
                   ^
error: aborting due to previous error

do we have a solution for #6393 ?

Thanks

-- 
Christophe
http://chris-pe.github.io/Rustic/
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to