INNER CODE UNIT · Rust

try_bind

rusqlite/rusqlite · rusqlite-macros/src/lib.rs:22

fn try_bind(input: TokenStream) -> Result<TokenStream> {
    let (stmt, literal) = {
        let mut iter = input.into_iter();
        let stmt = iter.next().unwrap();
        let literal = iter.next().unwrap();
        assert!(iter.next().is_none());
        (stmt, literal)
    };

    let Some(literal) = into_literal(&literal) else {
        return Err("expected a plain string literal".to_string());
    };
    let call_site = literal.span();
    let string_lit = match StringLit::try_from(literal) {
        Ok(string_lit) => string_lit,
        Err(e) => return Ok(e.to_compile_error()),
    };
    let sql = string_lit.value();

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…