mirror of
https://github.com/isar/rusqlite.git
synced 2024-11-22 16:29:20 +08:00
Don't implement Into<RawStatement> for Statement
This commit is contained in:
parent
6b4f207dc1
commit
f7a573e44a
@ -84,7 +84,7 @@ impl Drop for CachedStatement<'_> {
|
||||
#[allow(unused_must_use)]
|
||||
fn drop(&mut self) {
|
||||
if let Some(stmt) = self.stmt.take() {
|
||||
self.cache.cache_stmt(stmt.into());
|
||||
self.cache.cache_stmt(unsafe { stmt.into_raw() });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -702,11 +702,12 @@ impl Statement<'_> {
|
||||
pub(crate) fn check_no_tail(&self) -> Result<()> {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
impl Into<RawStatement> for Statement<'_> {
|
||||
fn into(mut self) -> RawStatement {
|
||||
let mut stmt = unsafe { RawStatement::new(ptr::null_mut(), false) };
|
||||
/// Safety: This is unsafe, because using `sqlite3_stmt` after the
|
||||
/// connection has closed is illegal, but `RawStatement` does not enforce
|
||||
/// this, as it loses our protective `'conn` lifetime bound.
|
||||
pub(crate) unsafe fn into_raw(mut self) -> RawStatement {
|
||||
let mut stmt = RawStatement::new(ptr::null_mut(), false);
|
||||
mem::swap(&mut stmt, &mut self.stmt);
|
||||
stmt
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user