3 ms·
to_owned() converts to a String, not to a &'static str. Those are not the same. You can't create a &'static str dynamically (though you can mutate one using uns
by C4K3 8y ago
to_owned() converts to a String, not to a &'static str. Those are not the same. You can't create a &'static str dynamically (though you can mutate one using unsafe.)
- EugeneOZ 8y agolol, so you call your SQL just with constants? "username" in his example just for one user forever? Still a bullshit.
- C4K3 8y agoNo, only the SQL statement has to be 'static. It's not bullshit.
- EugeneOZ 8y agoCan you provide real-world example please?
- Khoth 8y agoFrom TFA: let _rows = sql_query("SELECT * FROM users WHERE username=?", &[username]); The statement is static, but the [username] part is not, it's just a variable that can have whatever username you want.
- EugeneOZ 8y agoand I already told that this example has no meaning, it's just a bullshit - nobody will use it in real app. You want to fetch from db info about the only one user, who's name is a constant? Yeah, all apps do it every day.
- derkha 8y agoYou can convert a `String` into a `&'static str` using only safe stdlib functions via `Box::leak(s.into())`. This uses `unsafe` internally, of course... but so does almost any code.
- C4K3 8y agoAh cool, I hadn't heard about Box::leak until now. Coming to stable in 1.26 it seems.