[英]rust dyn trait variable new with different generic types?
我對 Rust 很陌生。 嘗試使用柴油機創建數據庫連接。
這是我的代碼的一部分:
use diesel::Connecction;
use diesel::mysql::MysqlConnection;
use diesel::sqlite::SqliteConnection;
let engine = "mysql";
let mysql_url = "mysql://username:password@localhost:3306/test";
let sqlite_url = "sqlite://sqlite.db";
let connection : Box<dyn Connection> = if engine == "mysql" {
Box::new(MysqlConnection::establish(mysql_url).unwrap())
} else {
Box::new(SqliteConnection::establish(sqlite_url).unwrap())
}
這是編譯器錯誤:
error[E0191]: the value of the associated types `Backend` (from trait `Connection`), `TransactionManager` (from trait `Connection`) must be specified
--> src/quant/common/persistence/database.rs:11:25
|
11 | connection: Box<dyn Connection>,
| ^^^^^^^^^^ help: specify the associated types: `Connection<Backend = Type, TransactionManager = Type>`
當程序以不同的參數啟動時,是否可以創建不同的連接?
不支持此用例。 看到這個問題。 如果您設法通過連接來做到這一點,則必須包裝事務和查詢,然后可能還有一些生成的table!
類型,下到兔子洞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.