You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OpenDAL 0.55.0+ removed the Scheme enum from its public API. The current rustic_backend implementation in crates/backend/src/opendal.rs uses Scheme::from_str(), which causes compilation errors with newer OpenDAL versions.
Current error:
error[E0432]: unresolved import `opendal::Scheme`
--> crates/backend/src/opendal.rs:8:5
|
8 | Scheme,
| ^^^^^^ no `Scheme` in the root
Root Cause
OpenDAL changed its API in 0.55.0:
Old API (0.54.x): Operator::via_iter(Scheme::from_str(path)?, options)
New API (0.55.x): Operator::via_iter(scheme_string, options) - accepts &str directly
Solution
Update crates/backend/src/opendal.rs to extract the scheme string directly from the path instead of using the removed Scheme enum:
Problem
OpenDAL 0.55.0+ removed the
Schemeenum from its public API. The currentrustic_backendimplementation incrates/backend/src/opendal.rsusesScheme::from_str(), which causes compilation errors with newer OpenDAL versions.Current error:
Root Cause
OpenDAL changed its API in 0.55.0:
Operator::via_iter(Scheme::from_str(path)?, options)Operator::via_iter(scheme_string, options)- accepts&strdirectlySolution
Update
crates/backend/src/opendal.rsto extract the scheme string directly from the path instead of using the removedSchemeenum:Timeline & Dependencies
Testing
The fix has been tested locally with:
Related
list()returns size=0 for all files - missing size field in API call and metadata mapping apache/opendal#7057 - Original issue reporting Google Drive metadata bug