Rust是一种用于以简单方式编写高度可靠和快速软件的语言。它可用于从高级代码到特定于硬件的代码,从大型熨斗到小型设备。
STD:: SYNC :: ONCELOCK and ANCER_CELL :: SYNC :: LAZY lazy not type typetype
我需要一次启动变量。 所以我愿意 静态池:懒惰> = lazy :: new(|| { 令config = asyncdieselConnectionManager :: 我需要一个变量一次。 我做 static POOL: Lazy<Pool<AsyncMysqlConnection>> = Lazy::new(|| { let config = AsyncDieselConnectionManager::<diesel_async::AsyncMysqlConnection>::new( "mysql://[email protected]:3306/db", ); Pool::builder(config).build().unwrap() }); 我像conn一样 let mut conn = POOL.get().await?; 但我需要一些输入(URL),所以我从std ::Sync更改为Oncelock pub static POOL: OnceLock<Pool<AsyncMysqlConnection>> = OnceLock::new(); 我写一个fn写入oncelock pub fn set_pool(db_url: &str) { let pool = AsyncDieselConnectionManager::<AsyncMysqlConnection>::new(db_url); let conn = Pool::builder(pool).build().unwrap(); POOL.set(conn); } 但是当我想获得celcelock值时, 我做的和懒惰的事情一样 the trait bound `deadpool::managed::Pool<AsyncDieselConnectionManager<AsyncMysqlConnection>>: DerefMut` is not satisfied --> src/diesel.rs:512:18 | 512 | ... .execute(&mut conn) | ^^^^^^^ unsatisfied trait bound | = help: the trait `DerefMut` is not implemented for `Pool<AsyncDieselConnectionManager<...>>` = help: the following other types implement trait `AsyncConnection`: AsyncMysqlConnection AsyncPgConnection SyncConnectionWrapper<C> = note: required for `Pool<AsyncDieselConnectionManager<...>>` to implement `AsyncConnection` = note: the full name for the type has been written to '/data/data/com.termux/files/home/lucle/target/debug/deps/lucle-aa4e36718ce9a19c.long-type-4366048800889042929.txt' = note: consider using `--verbose` to print the full type name to the console 我不明白我为什么得到这个,似乎返回类型在懒惰和Oncelock之间相同 问题似乎是一个令人讨厌的问题。由于您的示例代码似乎不完整。您不会共享实际错误发生的代码部分: src/diesel.rs:512:18 | 512 | ... .execute(&mut conn) .execute(&mut conn)需要可变的参考conn。 POOL.get()返回不可用的参考。您需要对conn.的可变引用。 如何在Oncelock中获得可变的引用到基础数据 Https://stackoverflow.com/a/76695396/29977423
我无法捕获错误原因。 我使用以下工具将相同的过程与其他类似命令使用: 将Json变成生锈 另一个帖子会解决这个问题,但不理解
I连接到Solana Websocket,并订阅Raydium分散交易所帐户(https://raydium.io/swap/)的程序数据以收听交易交易。 当前状态 我成功连接...
Https://raydium.io/swap/
我如何强制Serde作为Rust U16类型解析JSON编号? 在下面我解析JSON文件。 JSON_DATA具有类型值。这仅具有AS_U64()方法,否AS_U16()。结果,我首先必须面对...
有人可以告诉我,为什么在rust,iter()。next()不返回列表中的下一个元素? 让项目= [1,2,3]; 令mut compteur = 0usize; 环形 { 让mut iteratorOutOffor =
为什么“类型参数从未使用”,即使它在某个子句中使用? 我对Rust是个新手,我一直在解决这个问题,我不知道该如何解决。我有一个像 酒吧结构求解器
<'e, E: 'e, T, M, C>pub struct Solver <'e, E: 'e, T, M, C> where E: Equation<T, M, C>, T: Term<C>, M: Mesh, { equations: &'e [E], }
当我告诉我要实现哪种参考类型时,Rust想要明确的寿命?
我一直在尝试找到一种很好的方法来创建诸如后端使用Rust之类的Express.js。除了我找不到一个好方法连接和查询A ...
然后我通过将相同的内容复制到同一文件中来增加数据。创建20k和10k的线路。 python版本的文件较大,较大的文件稍慢。 Rust版本需要更大的文件的时间8倍。
我有一个Android应用(用Kotlin编写),并在Rust中运行处理代码。我将JNI(Java本机界面)用作通信层。 目标 我可以成功返回布尔,但我想
在C中,某些内置功能不是线程安全的,并且存在线程安全的替代方案,可用于这种不安全的功能。 例如:Locatime不是线程安全的,线程安全替代方案是
在C中,某些内置功能不是线程安全的,并且存在线程安全的替代方案,可用于这种不安全的功能。例如摄影机不是线程安全的,线程安全的替代方案是