This is an automated email from the ASF dual-hosted git repository. tison pushed a commit to branch small-ctor in repository https://gitbox.apache.org/repos/asf/opendal.git
commit 65d4696848706e5b2b95a80e8498b9451bd006a1 Author: tison <[email protected]> AuthorDate: Mon Dec 15 11:00:59 2025 +0800 chore: adopt small_ctor over ctor Signed-off-by: tison <[email protected]> --- core/Cargo.lock | 71 ++++++++------------------ core/Cargo.toml | 2 +- core/core/Cargo.toml | 2 +- core/core/src/services/alluxio/mod.rs | 4 +- core/core/src/services/b2/mod.rs | 4 +- core/core/src/services/cacache/mod.rs | 4 +- core/core/src/services/compfs/mod.rs | 4 +- core/core/src/services/cos/mod.rs | 4 +- core/core/src/services/d1/mod.rs | 4 +- core/core/src/services/dashmap/mod.rs | 4 +- core/core/src/services/dbfs/mod.rs | 4 +- core/core/src/services/dropbox/mod.rs | 4 +- core/core/src/services/etcd/mod.rs | 4 +- core/core/src/services/foundationdb/mod.rs | 4 +- core/core/src/services/fs/mod.rs | 4 +- core/core/src/services/gdrive/mod.rs | 4 +- core/core/src/services/github/mod.rs | 4 +- core/core/src/services/gridfs/mod.rs | 4 +- core/core/src/services/hdfs/mod.rs | 4 +- core/core/src/services/http/mod.rs | 4 +- core/core/src/services/huggingface/mod.rs | 4 +- core/core/src/services/ipmfs/mod.rs | 4 +- core/core/src/services/koofr/mod.rs | 4 +- core/core/src/services/lakefs/mod.rs | 4 +- core/core/src/services/memcached/mod.rs | 4 +- core/core/src/services/memory/mod.rs | 4 +- core/core/src/services/mini_moka/mod.rs | 4 +- core/core/src/services/mongodb/mod.rs | 4 +- core/core/src/services/monoiofs/mod.rs | 4 +- core/core/src/services/onedrive/mod.rs | 4 +- core/core/src/services/pcloud/mod.rs | 4 +- core/core/src/services/persy/mod.rs | 4 +- core/core/src/services/redb/mod.rs | 4 +- core/core/src/services/redis/mod.rs | 4 +- core/core/src/services/rocksdb/mod.rs | 4 +- core/core/src/services/seafile/mod.rs | 4 +- core/core/src/services/sftp/mod.rs | 4 +- core/core/src/services/sqlite/mod.rs | 4 +- core/core/src/services/surrealdb/mod.rs | 4 +- core/core/src/services/swift/mod.rs | 4 +- core/core/src/services/upyun/mod.rs | 4 +- core/core/src/services/vercel_artifacts/mod.rs | 4 +- core/core/src/services/webdav/mod.rs | 4 +- core/core/src/services/webhdfs/mod.rs | 4 +- core/core/src/services/yandex_disk/mod.rs | 4 +- core/services/aliyun-drive/Cargo.toml | 2 +- core/services/aliyun-drive/src/lib.rs | 4 +- core/services/azblob/Cargo.toml | 2 +- core/services/azblob/src/lib.rs | 4 +- core/services/azdls/Cargo.toml | 2 +- core/services/azdls/src/lib.rs | 4 +- core/services/azfile/Cargo.toml | 2 +- core/services/azfile/src/lib.rs | 4 +- core/services/cloudflare-kv/Cargo.toml | 2 +- core/services/cloudflare-kv/src/lib.rs | 4 +- core/services/ftp/Cargo.toml | 2 +- core/services/ftp/src/lib.rs | 4 +- core/services/gcs/Cargo.toml | 2 +- core/services/gcs/src/lib.rs | 4 +- core/services/ghac/Cargo.toml | 2 +- core/services/ghac/src/lib.rs | 4 +- core/services/hdfs-native/Cargo.toml | 2 +- core/services/hdfs-native/src/lib.rs | 4 +- core/services/ipfs/Cargo.toml | 2 +- core/services/ipfs/src/lib.rs | 4 +- core/services/moka/Cargo.toml | 2 +- core/services/moka/src/lib.rs | 4 +- core/services/mysql/Cargo.toml | 2 +- core/services/mysql/src/lib.rs | 4 +- core/services/obs/Cargo.toml | 2 +- core/services/obs/src/lib.rs | 4 +- core/services/oss/Cargo.toml | 2 +- core/services/oss/src/lib.rs | 4 +- core/services/postgresql/Cargo.toml | 2 +- core/services/postgresql/src/lib.rs | 4 +- core/services/s3/Cargo.toml | 2 +- core/services/s3/src/lib.rs | 4 +- core/services/s3/src/mod.rs | 4 +- core/services/sled/Cargo.toml | 2 +- core/services/sled/src/lib.rs | 4 +- core/services/tikv/Cargo.toml | 2 +- core/services/tikv/src/lib.rs | 4 +- core/services/vercel-blob/Cargo.toml | 2 +- core/services/vercel-blob/src/lib.rs | 4 +- 84 files changed, 165 insertions(+), 196 deletions(-) diff --git a/core/Cargo.lock b/core/Cargo.lock index ac3a7bbd8..c326edcd9 100644 --- a/core/Cargo.lock +++ b/core/Cargo.lock @@ -2232,22 +2232,6 @@ dependencies = [ "syn 2.0.111", ] -[[package]] -name = "ctor" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "424e0138278faeb2b401f174ad17e715c829512d74f3d1e81eb43365c2e0590e" -dependencies = [ - "ctor-proc-macro", - "dtor", -] - -[[package]] -name = "ctor-proc-macro" -version = "0.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1" - [[package]] name = "ctr" version = "0.9.2" @@ -2642,21 +2626,6 @@ dependencies = [ "dtoa", ] -[[package]] -name = "dtor" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "404d02eeb088a82cfd873006cb713fe411306c7d182c344905e101fb1167d301" -dependencies = [ - "dtor-proc-macro", -] - -[[package]] -name = "dtor-proc-macro" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" - [[package]] name = "dunce" version = "1.0.5" @@ -5566,7 +5535,6 @@ dependencies = [ "cacache", "compio", "criterion", - "ctor", "dashmap 6.1.0", "divan", "dotenvy", @@ -5612,6 +5580,7 @@ dependencies = [ "sha1", "sha2", "size", + "small_ctor", "sqlx", "surrealdb", "tokio", @@ -5809,13 +5778,13 @@ name = "opendal-service-aliyun-drive" version = "0.55.0" dependencies = [ "bytes", - "ctor", "http 1.4.0", "log", "mea", "opendal-core", "serde", "serde_json", + "small_ctor", ] [[package]] @@ -5824,7 +5793,6 @@ version = "0.55.0" dependencies = [ "base64 0.22.1", "bytes", - "ctor", "http 1.4.0", "log", "opendal-core", @@ -5835,6 +5803,7 @@ dependencies = [ "serde", "serde_json", "sha2", + "small_ctor", "uuid", ] @@ -5843,7 +5812,6 @@ name = "opendal-service-azdls" version = "0.55.0" dependencies = [ "bytes", - "ctor", "http 1.4.0", "log", "opendal-core", @@ -5852,6 +5820,7 @@ dependencies = [ "reqsign", "serde", "serde_json", + "small_ctor", ] [[package]] @@ -5859,7 +5828,6 @@ name = "opendal-service-azfile" version = "0.55.0" dependencies = [ "bytes", - "ctor", "http 1.4.0", "log", "opendal-core", @@ -5867,6 +5835,7 @@ dependencies = [ "quick-xml", "reqsign", "serde", + "small_ctor", ] [[package]] @@ -5883,11 +5852,11 @@ name = "opendal-service-cloudflare-kv" version = "0.55.0" dependencies = [ "bytes", - "ctor", "http 1.4.0", "opendal-core", "serde", "serde_json", + "small_ctor", ] [[package]] @@ -5895,7 +5864,6 @@ name = "opendal-service-ftp" version = "0.55.0" dependencies = [ "bytes", - "ctor", "fastpool", "futures", "futures-rustls", @@ -5904,6 +5872,7 @@ dependencies = [ "opendal-core", "rustls-native-certs 0.8.2", "serde", + "small_ctor", "suppaftp", "tokio", ] @@ -5915,7 +5884,6 @@ dependencies = [ "backon", "base64 0.22.1", "bytes", - "ctor", "http 1.4.0", "log", "opendal-core", @@ -5926,6 +5894,7 @@ dependencies = [ "reqwest", "serde", "serde_json", + "small_ctor", "tokio", "tracing-subscriber", ] @@ -5935,7 +5904,6 @@ name = "opendal-service-ghac" version = "0.55.0" dependencies = [ "bytes", - "ctor", "ghac", "http 1.4.0", "log", @@ -5946,6 +5914,7 @@ dependencies = [ "serde", "serde_json", "sha2", + "small_ctor", ] [[package]] @@ -5953,12 +5922,12 @@ name = "opendal-service-hdfs-native" version = "0.55.0" dependencies = [ "bytes", - "ctor", "futures", "hdfs-native", "log", "opendal-core", "serde", + "small_ctor", ] [[package]] @@ -5966,12 +5935,12 @@ name = "opendal-service-ipfs" version = "0.55.0" dependencies = [ "bytes", - "ctor", "http 1.4.0", "log", "opendal-core", "prost 0.13.5", "serde", + "small_ctor", "tokio", ] @@ -5979,21 +5948,21 @@ dependencies = [ name = "opendal-service-moka" version = "0.55.0" dependencies = [ - "ctor", "log", "moka", "opendal-core", "serde", + "small_ctor", ] [[package]] name = "opendal-service-mysql" version = "0.55.0" dependencies = [ - "ctor", "mea", "opendal-core", "serde", + "small_ctor", "sqlx", ] @@ -6002,13 +5971,13 @@ name = "opendal-service-obs" version = "0.55.0" dependencies = [ "bytes", - "ctor", "http 1.4.0", "log", "opendal-core", "quick-xml", "reqsign", "serde", + "small_ctor", ] [[package]] @@ -6017,7 +5986,6 @@ version = "0.55.0" dependencies = [ "anyhow", "bytes", - "ctor", "http 1.4.0", "log", "opendal-core", @@ -6027,6 +5995,7 @@ dependencies = [ "reqwest", "serde", "serde_json", + "small_ctor", "tokio", "tracing-subscriber", ] @@ -6035,10 +6004,10 @@ dependencies = [ name = "opendal-service-postgresql" version = "0.55.0" dependencies = [ - "ctor", "mea", "opendal-core", "serde", + "small_ctor", "sqlx", ] @@ -6049,7 +6018,6 @@ dependencies = [ "base64 0.22.1", "bytes", "crc32c", - "ctor", "http 1.4.0", "log", "md-5", @@ -6063,6 +6031,7 @@ dependencies = [ "reqwest", "serde", "serde_json", + "small_ctor", "tokio", "tracing-subscriber", ] @@ -6071,20 +6040,20 @@ dependencies = [ name = "opendal-service-sled" version = "0.55.0" dependencies = [ - "ctor", "opendal-core", "serde", "sled", + "small_ctor", ] [[package]] name = "opendal-service-tikv" version = "0.55.0" dependencies = [ - "ctor", "mea", "opendal-core", "serde", + "small_ctor", "tikv-client", ] @@ -6093,13 +6062,13 @@ name = "opendal-service-vercel-blob" version = "0.55.0" dependencies = [ "bytes", - "ctor", "http 1.4.0", "log", "opendal-core", "quick-xml", "serde", "serde_json", + "small_ctor", "tokio", ] diff --git a/core/Cargo.toml b/core/Cargo.toml index 17e1f361c..34a990466 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -42,7 +42,6 @@ version = "0.55.0" [workspace.dependencies] base64 = "0.22" bytes = "1.10" -ctor = "0.6" futures = { version = "0.3", default-features = false } http = "1.1" log = "0.4" @@ -52,6 +51,7 @@ reqsign = { version = "0.16.5", default-features = false } serde = { version = "1", default-features = false } serde_json = "1" sha2 = "0.10" +small_ctor = { version = "0.1.2" } tokio = { version = "1.48", default-features = false } uuid = { version = "1", default-features = false } diff --git a/core/core/Cargo.toml b/core/core/Cargo.toml index 425c61513..17d2b81bf 100644 --- a/core/core/Cargo.toml +++ b/core/core/Cargo.toml @@ -140,7 +140,7 @@ anyhow = { version = "1.0.100", features = ["std"] } backon = { version = "1.6", features = ["tokio-sleep"] } base64 = { workspace = true } bytes = { workspace = true } -ctor = { workspace = true } +small_ctor = { workspace = true } futures = { workspace = true, default-features = false, features = [ "std", "async-await", diff --git a/core/core/src/services/alluxio/mod.rs b/core/core/src/services/alluxio/mod.rs index 8b420ee98..6dcba96cf 100644 --- a/core/core/src/services/alluxio/mod.rs +++ b/core/core/src/services/alluxio/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::AlluxioBuilder as Alluxio; pub use config::AlluxioConfig; -#[ctor::ctor] -fn register_alluxio_service() { +#[small_ctor::ctor] +unsafe fn register_alluxio_service() { DEFAULT_OPERATOR_REGISTRY.register::<Alluxio>(ALLUXIO_SCHEME); } diff --git a/core/core/src/services/b2/mod.rs b/core/core/src/services/b2/mod.rs index 09436541e..71587167f 100644 --- a/core/core/src/services/b2/mod.rs +++ b/core/core/src/services/b2/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::B2Builder as B2; pub use config::B2Config; -#[ctor::ctor] -fn register_b2_service() { +#[small_ctor::ctor] +unsafe fn register_b2_service() { DEFAULT_OPERATOR_REGISTRY.register::<B2>(B2_SCHEME); } diff --git a/core/core/src/services/cacache/mod.rs b/core/core/src/services/cacache/mod.rs index 236836a2b..987dda363 100644 --- a/core/core/src/services/cacache/mod.rs +++ b/core/core/src/services/cacache/mod.rs @@ -29,7 +29,7 @@ mod writer; pub use backend::CacacheBuilder as Cacache; pub use config::CacacheConfig; -#[ctor::ctor] -fn register_cacache_service() { +#[small_ctor::ctor] +unsafe fn register_cacache_service() { DEFAULT_OPERATOR_REGISTRY.register::<Cacache>(CACACHE_SCHEME); } diff --git a/core/core/src/services/compfs/mod.rs b/core/core/src/services/compfs/mod.rs index 5f51aa2ed..a9c35743b 100644 --- a/core/core/src/services/compfs/mod.rs +++ b/core/core/src/services/compfs/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::CompfsBuilder as Compfs; pub use config::CompfsConfig; -#[ctor::ctor] -fn register_compfs_service() { +#[small_ctor::ctor] +unsafe fn register_compfs_service() { DEFAULT_OPERATOR_REGISTRY.register::<Compfs>(COMPFS_SCHEME); } diff --git a/core/core/src/services/cos/mod.rs b/core/core/src/services/cos/mod.rs index f2d4ca515..2771ce3d4 100644 --- a/core/core/src/services/cos/mod.rs +++ b/core/core/src/services/cos/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::CosBuilder as Cos; pub use config::CosConfig; -#[ctor::ctor] -fn register_cos_service() { +#[small_ctor::ctor] +unsafe fn register_cos_service() { DEFAULT_OPERATOR_REGISTRY.register::<Cos>(COS_SCHEME); } diff --git a/core/core/src/services/d1/mod.rs b/core/core/src/services/d1/mod.rs index d773e8f86..67c72fd16 100644 --- a/core/core/src/services/d1/mod.rs +++ b/core/core/src/services/d1/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::D1Builder as D1; pub use config::D1Config; -#[ctor::ctor] -fn register_d1_service() { +#[small_ctor::ctor] +unsafe fn register_d1_service() { DEFAULT_OPERATOR_REGISTRY.register::<D1>(D1_SCHEME); } diff --git a/core/core/src/services/dashmap/mod.rs b/core/core/src/services/dashmap/mod.rs index eff210847..98249596a 100644 --- a/core/core/src/services/dashmap/mod.rs +++ b/core/core/src/services/dashmap/mod.rs @@ -30,7 +30,7 @@ mod writer; pub use backend::DashmapBuilder as Dashmap; pub use config::DashmapConfig; -#[ctor::ctor] -fn register_dashmap_service() { +#[small_ctor::ctor] +unsafe fn register_dashmap_service() { DEFAULT_OPERATOR_REGISTRY.register::<Dashmap>(DASHMAP_SCHEME); } diff --git a/core/core/src/services/dbfs/mod.rs b/core/core/src/services/dbfs/mod.rs index 0b7c23d77..55b90b03a 100644 --- a/core/core/src/services/dbfs/mod.rs +++ b/core/core/src/services/dbfs/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::DbfsBuilder as Dbfs; pub use config::DbfsConfig; -#[ctor::ctor] -fn register_dbfs_service() { +#[small_ctor::ctor] +unsafe fn register_dbfs_service() { DEFAULT_OPERATOR_REGISTRY.register::<Dbfs>(DBFS_SCHEME); } diff --git a/core/core/src/services/dropbox/mod.rs b/core/core/src/services/dropbox/mod.rs index 3195bf5e5..749a51f94 100644 --- a/core/core/src/services/dropbox/mod.rs +++ b/core/core/src/services/dropbox/mod.rs @@ -32,7 +32,7 @@ mod writer; pub use builder::DropboxBuilder as Dropbox; pub use config::DropboxConfig; -#[ctor::ctor] -fn register_dropbox_service() { +#[small_ctor::ctor] +unsafe fn register_dropbox_service() { DEFAULT_OPERATOR_REGISTRY.register::<Dropbox>(DROPBOX_SCHEME); } diff --git a/core/core/src/services/etcd/mod.rs b/core/core/src/services/etcd/mod.rs index a28e5fdca..a542b5af8 100644 --- a/core/core/src/services/etcd/mod.rs +++ b/core/core/src/services/etcd/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::EtcdBuilder as Etcd; pub use config::EtcdConfig; -#[ctor::ctor] -fn register_etcd_service() { +#[small_ctor::ctor] +unsafe fn register_etcd_service() { DEFAULT_OPERATOR_REGISTRY.register::<Etcd>(ETCD_SCHEME); } diff --git a/core/core/src/services/foundationdb/mod.rs b/core/core/src/services/foundationdb/mod.rs index cf67f3f0b..2183af69c 100644 --- a/core/core/src/services/foundationdb/mod.rs +++ b/core/core/src/services/foundationdb/mod.rs @@ -29,7 +29,7 @@ mod writer; pub use backend::FoundationdbBuilder as Foundationdb; pub use config::FoundationdbConfig; -#[ctor::ctor] -fn register_foundationdb_service() { +#[small_ctor::ctor] +unsafe fn register_foundationdb_service() { DEFAULT_OPERATOR_REGISTRY.register::<Foundationdb>(FOUNDATIONDB_SCHEME); } diff --git a/core/core/src/services/fs/mod.rs b/core/core/src/services/fs/mod.rs index 96b064718..cb5ea8247 100644 --- a/core/core/src/services/fs/mod.rs +++ b/core/core/src/services/fs/mod.rs @@ -32,7 +32,7 @@ mod writer; pub use backend::FsBuilder as Fs; pub use config::FsConfig; -#[ctor::ctor] -fn register_fs_service() { +#[small_ctor::ctor] +unsafe fn register_fs_service() { DEFAULT_OPERATOR_REGISTRY.register::<Fs>(FS_SCHEME); } diff --git a/core/core/src/services/gdrive/mod.rs b/core/core/src/services/gdrive/mod.rs index 25d6f1aed..c934c6bd7 100644 --- a/core/core/src/services/gdrive/mod.rs +++ b/core/core/src/services/gdrive/mod.rs @@ -32,7 +32,7 @@ mod writer; pub use builder::GdriveBuilder as Gdrive; pub use config::GdriveConfig; -#[ctor::ctor] -fn register_gdrive_service() { +#[small_ctor::ctor] +unsafe fn register_gdrive_service() { DEFAULT_OPERATOR_REGISTRY.register::<Gdrive>(GDRIVE_SCHEME); } diff --git a/core/core/src/services/github/mod.rs b/core/core/src/services/github/mod.rs index 9cb8c0abd..a37eeac82 100644 --- a/core/core/src/services/github/mod.rs +++ b/core/core/src/services/github/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::GithubBuilder as Github; pub use config::GithubConfig; -#[ctor::ctor] -fn register_github_service() { +#[small_ctor::ctor] +unsafe fn register_github_service() { DEFAULT_OPERATOR_REGISTRY.register::<Github>(GITHUB_SCHEME); } diff --git a/core/core/src/services/gridfs/mod.rs b/core/core/src/services/gridfs/mod.rs index 93d4fe611..4baa23cca 100644 --- a/core/core/src/services/gridfs/mod.rs +++ b/core/core/src/services/gridfs/mod.rs @@ -29,7 +29,7 @@ mod writer; pub use backend::GridfsBuilder as Gridfs; pub use config::GridfsConfig; -#[ctor::ctor] -fn register_gridfs_service() { +#[small_ctor::ctor] +unsafe fn register_gridfs_service() { DEFAULT_OPERATOR_REGISTRY.register::<Gridfs>(GRIDFS_SCHEME); } diff --git a/core/core/src/services/hdfs/mod.rs b/core/core/src/services/hdfs/mod.rs index de2c0e349..ed3cb17e0 100644 --- a/core/core/src/services/hdfs/mod.rs +++ b/core/core/src/services/hdfs/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::HdfsBuilder as Hdfs; pub use config::HdfsConfig; -#[ctor::ctor] -fn register_hdfs_service() { +#[small_ctor::ctor] +unsafe fn register_hdfs_service() { DEFAULT_OPERATOR_REGISTRY.register::<Hdfs>(HDFS_SCHEME); } diff --git a/core/core/src/services/http/mod.rs b/core/core/src/services/http/mod.rs index 5b3975d7b..59eaaaa64 100644 --- a/core/core/src/services/http/mod.rs +++ b/core/core/src/services/http/mod.rs @@ -28,7 +28,7 @@ mod error; pub use backend::HttpBuilder as Http; pub use config::HttpConfig; -#[ctor::ctor] -fn register_http_service() { +#[small_ctor::ctor] +unsafe fn register_http_service() { DEFAULT_OPERATOR_REGISTRY.register::<Http>(HTTP_SCHEME); } diff --git a/core/core/src/services/huggingface/mod.rs b/core/core/src/services/huggingface/mod.rs index 3576c2216..bb82b0532 100644 --- a/core/core/src/services/huggingface/mod.rs +++ b/core/core/src/services/huggingface/mod.rs @@ -29,7 +29,7 @@ mod lister; pub use backend::HuggingfaceBuilder as Huggingface; pub use config::HuggingfaceConfig; -#[ctor::ctor] -fn register_huggingface_service() { +#[small_ctor::ctor] +unsafe fn register_huggingface_service() { DEFAULT_OPERATOR_REGISTRY.register::<Huggingface>(HUGGINGFACE_SCHEME); } diff --git a/core/core/src/services/ipmfs/mod.rs b/core/core/src/services/ipmfs/mod.rs index 58f92b507..327e96ae9 100644 --- a/core/core/src/services/ipmfs/mod.rs +++ b/core/core/src/services/ipmfs/mod.rs @@ -32,7 +32,7 @@ mod writer; pub use builder::IpmfsBuilder as Ipmfs; pub use config::IpmfsConfig; -#[ctor::ctor] -fn register_ipmfs_service() { +#[small_ctor::ctor] +unsafe fn register_ipmfs_service() { DEFAULT_OPERATOR_REGISTRY.register::<Ipmfs>(IPMFS_SCHEME); } diff --git a/core/core/src/services/koofr/mod.rs b/core/core/src/services/koofr/mod.rs index fe86028e4..b7a158a78 100644 --- a/core/core/src/services/koofr/mod.rs +++ b/core/core/src/services/koofr/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::KoofrBuilder as Koofr; pub use config::KoofrConfig; -#[ctor::ctor] -fn register_koofr_service() { +#[small_ctor::ctor] +unsafe fn register_koofr_service() { DEFAULT_OPERATOR_REGISTRY.register::<Koofr>(KOOFR_SCHEME); } diff --git a/core/core/src/services/lakefs/mod.rs b/core/core/src/services/lakefs/mod.rs index cc55ed939..1af778114 100644 --- a/core/core/src/services/lakefs/mod.rs +++ b/core/core/src/services/lakefs/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::LakefsBuilder as Lakefs; pub use config::LakefsConfig; -#[ctor::ctor] -fn register_lakefs_service() { +#[small_ctor::ctor] +unsafe fn register_lakefs_service() { DEFAULT_OPERATOR_REGISTRY.register::<Lakefs>(LAKEFS_SCHEME); } diff --git a/core/core/src/services/memcached/mod.rs b/core/core/src/services/memcached/mod.rs index c10fef6a0..9bffdfad9 100644 --- a/core/core/src/services/memcached/mod.rs +++ b/core/core/src/services/memcached/mod.rs @@ -30,7 +30,7 @@ mod writer; pub use backend::MemcachedBuilder as Memcached; pub use config::MemcachedConfig; -#[ctor::ctor] -fn register_memcached_service() { +#[small_ctor::ctor] +unsafe fn register_memcached_service() { DEFAULT_OPERATOR_REGISTRY.register::<Memcached>(MEMCACHED_SCHEME); } diff --git a/core/core/src/services/memory/mod.rs b/core/core/src/services/memory/mod.rs index 80a0bf3da..00689bf43 100644 --- a/core/core/src/services/memory/mod.rs +++ b/core/core/src/services/memory/mod.rs @@ -30,7 +30,7 @@ mod writer; pub use backend::MemoryBuilder as Memory; pub use config::MemoryConfig; -#[ctor::ctor] -fn register_memory_service() { +#[small_ctor::ctor] +unsafe fn register_memory_service() { DEFAULT_OPERATOR_REGISTRY.register::<Memory>(MEMORY_SCHEME); } diff --git a/core/core/src/services/mini_moka/mod.rs b/core/core/src/services/mini_moka/mod.rs index 1df625522..fde5ff6e8 100644 --- a/core/core/src/services/mini_moka/mod.rs +++ b/core/core/src/services/mini_moka/mod.rs @@ -30,7 +30,7 @@ mod writer; pub use backend::MiniMokaBuilder as MiniMoka; pub use config::MiniMokaConfig; -#[ctor::ctor] -fn register_minimoka_service() { +#[small_ctor::ctor] +unsafe fn register_minimoka_service() { DEFAULT_OPERATOR_REGISTRY.register::<MiniMoka>(MINI_MOKA_SCHEME); } diff --git a/core/core/src/services/mongodb/mod.rs b/core/core/src/services/mongodb/mod.rs index e2fc75c48..3860831b4 100644 --- a/core/core/src/services/mongodb/mod.rs +++ b/core/core/src/services/mongodb/mod.rs @@ -29,7 +29,7 @@ mod writer; pub use backend::MongodbBuilder as Mongodb; pub use config::MongodbConfig; -#[ctor::ctor] -fn register_mongodb_service() { +#[small_ctor::ctor] +unsafe fn register_mongodb_service() { DEFAULT_OPERATOR_REGISTRY.register::<Mongodb>(MONGODB_SCHEME); } diff --git a/core/core/src/services/monoiofs/mod.rs b/core/core/src/services/monoiofs/mod.rs index 1915761d2..58d8e2d47 100644 --- a/core/core/src/services/monoiofs/mod.rs +++ b/core/core/src/services/monoiofs/mod.rs @@ -30,7 +30,7 @@ mod writer; pub use backend::MonoiofsBuilder as Monoiofs; pub use config::MonoiofsConfig; -#[ctor::ctor] -fn register_monoiofs_service() { +#[small_ctor::ctor] +unsafe fn register_monoiofs_service() { DEFAULT_OPERATOR_REGISTRY.register::<Monoiofs>(MONOIOFS_SCHEME); } diff --git a/core/core/src/services/onedrive/mod.rs b/core/core/src/services/onedrive/mod.rs index ebf9f189e..e93f712ab 100644 --- a/core/core/src/services/onedrive/mod.rs +++ b/core/core/src/services/onedrive/mod.rs @@ -33,7 +33,7 @@ mod writer; pub use builder::OnedriveBuilder as Onedrive; pub use config::OnedriveConfig; -#[ctor::ctor] -fn register_onedrive_service() { +#[small_ctor::ctor] +unsafe fn register_onedrive_service() { DEFAULT_OPERATOR_REGISTRY.register::<Onedrive>(ONEDRIVE_SCHEME); } diff --git a/core/core/src/services/pcloud/mod.rs b/core/core/src/services/pcloud/mod.rs index 3295b09ba..ccad53bca 100644 --- a/core/core/src/services/pcloud/mod.rs +++ b/core/core/src/services/pcloud/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::PcloudBuilder as Pcloud; pub use config::PcloudConfig; -#[ctor::ctor] -fn register_pcloud_service() { +#[small_ctor::ctor] +unsafe fn register_pcloud_service() { DEFAULT_OPERATOR_REGISTRY.register::<Pcloud>(PCLOUD_SCHEME); } diff --git a/core/core/src/services/persy/mod.rs b/core/core/src/services/persy/mod.rs index 1dd724b05..8d5bec8ec 100644 --- a/core/core/src/services/persy/mod.rs +++ b/core/core/src/services/persy/mod.rs @@ -29,7 +29,7 @@ mod writer; pub use backend::PersyBuilder as Persy; pub use config::PersyConfig; -#[ctor::ctor] -fn register_persy_service() { +#[small_ctor::ctor] +unsafe fn register_persy_service() { DEFAULT_OPERATOR_REGISTRY.register::<Persy>(PERSY_SCHEME); } diff --git a/core/core/src/services/redb/mod.rs b/core/core/src/services/redb/mod.rs index 3d653a1e6..9eeeddb53 100644 --- a/core/core/src/services/redb/mod.rs +++ b/core/core/src/services/redb/mod.rs @@ -29,7 +29,7 @@ mod writer; pub use backend::RedbBuilder as Redb; pub use config::RedbConfig; -#[ctor::ctor] -fn register_redb_service() { +#[small_ctor::ctor] +unsafe fn register_redb_service() { DEFAULT_OPERATOR_REGISTRY.register::<Redb>(REDB_SCHEME); } diff --git a/core/core/src/services/redis/mod.rs b/core/core/src/services/redis/mod.rs index 6d0563bcc..34f1a7386 100644 --- a/core/core/src/services/redis/mod.rs +++ b/core/core/src/services/redis/mod.rs @@ -29,7 +29,7 @@ mod writer; pub use backend::RedisBuilder as Redis; pub use config::RedisConfig; -#[ctor::ctor] -fn register_redis_service() { +#[small_ctor::ctor] +unsafe fn register_redis_service() { DEFAULT_OPERATOR_REGISTRY.register::<Redis>(REDIS_SCHEME); } diff --git a/core/core/src/services/rocksdb/mod.rs b/core/core/src/services/rocksdb/mod.rs index 4447dc778..c2f20d4d6 100644 --- a/core/core/src/services/rocksdb/mod.rs +++ b/core/core/src/services/rocksdb/mod.rs @@ -30,7 +30,7 @@ mod writer; pub use backend::RocksdbBuilder as Rocksdb; pub use config::RocksdbConfig; -#[ctor::ctor] -fn register_rocksdb_service() { +#[small_ctor::ctor] +unsafe fn register_rocksdb_service() { DEFAULT_OPERATOR_REGISTRY.register::<Rocksdb>(ROCKSDB_SCHEME); } diff --git a/core/core/src/services/seafile/mod.rs b/core/core/src/services/seafile/mod.rs index 94abafc0b..b752d99a6 100644 --- a/core/core/src/services/seafile/mod.rs +++ b/core/core/src/services/seafile/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::SeafileBuilder as Seafile; pub use config::SeafileConfig; -#[ctor::ctor] -fn register_seafile_service() { +#[small_ctor::ctor] +unsafe fn register_seafile_service() { DEFAULT_OPERATOR_REGISTRY.register::<Seafile>(SEAFILE_SCHEME); } diff --git a/core/core/src/services/sftp/mod.rs b/core/core/src/services/sftp/mod.rs index 5712c4bdc..66f8d1fcb 100644 --- a/core/core/src/services/sftp/mod.rs +++ b/core/core/src/services/sftp/mod.rs @@ -33,7 +33,7 @@ mod writer; pub use backend::SftpBuilder as Sftp; pub use config::SftpConfig; -#[ctor::ctor] -fn register_sftp_service() { +#[small_ctor::ctor] +unsafe fn register_sftp_service() { DEFAULT_OPERATOR_REGISTRY.register::<Sftp>(SFTP_SCHEME); } diff --git a/core/core/src/services/sqlite/mod.rs b/core/core/src/services/sqlite/mod.rs index c6783d57f..025aec6e8 100644 --- a/core/core/src/services/sqlite/mod.rs +++ b/core/core/src/services/sqlite/mod.rs @@ -29,7 +29,7 @@ mod writer; pub use backend::SqliteBuilder as Sqlite; pub use config::SqliteConfig; -#[ctor::ctor] -fn register_sqlite_service() { +#[small_ctor::ctor] +unsafe fn register_sqlite_service() { DEFAULT_OPERATOR_REGISTRY.register::<Sqlite>(SQLITE_SCHEME); } diff --git a/core/core/src/services/surrealdb/mod.rs b/core/core/src/services/surrealdb/mod.rs index 722ace1e5..a9852275f 100644 --- a/core/core/src/services/surrealdb/mod.rs +++ b/core/core/src/services/surrealdb/mod.rs @@ -29,7 +29,7 @@ mod writer; pub use backend::SurrealdbBuilder as Surrealdb; pub use config::SurrealdbConfig; -#[ctor::ctor] -fn register_surrealdb_service() { +#[small_ctor::ctor] +unsafe fn register_surrealdb_service() { DEFAULT_OPERATOR_REGISTRY.register::<Surrealdb>(SURREALDB_SCHEME); } diff --git a/core/core/src/services/swift/mod.rs b/core/core/src/services/swift/mod.rs index 506de54d5..4f92e6b3d 100644 --- a/core/core/src/services/swift/mod.rs +++ b/core/core/src/services/swift/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::SwiftBuilder as Swift; pub use config::SwiftConfig; -#[ctor::ctor] -fn register_swift_service() { +#[small_ctor::ctor] +unsafe fn register_swift_service() { DEFAULT_OPERATOR_REGISTRY.register::<Swift>(SWIFT_SCHEME); } diff --git a/core/core/src/services/upyun/mod.rs b/core/core/src/services/upyun/mod.rs index 960f2d241..b56301941 100644 --- a/core/core/src/services/upyun/mod.rs +++ b/core/core/src/services/upyun/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::UpyunBuilder as Upyun; pub use config::UpyunConfig; -#[ctor::ctor] -fn register_upyun_service() { +#[small_ctor::ctor] +unsafe fn register_upyun_service() { DEFAULT_OPERATOR_REGISTRY.register::<Upyun>(UPYUN_SCHEME); } diff --git a/core/core/src/services/vercel_artifacts/mod.rs b/core/core/src/services/vercel_artifacts/mod.rs index fe3ae58fc..d375e0a9b 100644 --- a/core/core/src/services/vercel_artifacts/mod.rs +++ b/core/core/src/services/vercel_artifacts/mod.rs @@ -30,7 +30,7 @@ mod writer; pub use builder::VercelArtifactsBuilder as VercelArtifacts; pub use config::VercelArtifactsConfig; -#[ctor::ctor] -fn register_vercelartifacts_service() { +#[small_ctor::ctor] +unsafe fn register_vercelartifacts_service() { DEFAULT_OPERATOR_REGISTRY.register::<VercelArtifacts>(VERCEL_ARTIFACTS_SCHEME); } diff --git a/core/core/src/services/webdav/mod.rs b/core/core/src/services/webdav/mod.rs index 1fd1f194e..be22eaba3 100644 --- a/core/core/src/services/webdav/mod.rs +++ b/core/core/src/services/webdav/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::WebdavBuilder as Webdav; pub use config::WebdavConfig; -#[ctor::ctor] -fn register_webdav_service() { +#[small_ctor::ctor] +unsafe fn register_webdav_service() { DEFAULT_OPERATOR_REGISTRY.register::<Webdav>(WEBDAV_SCHEME); } diff --git a/core/core/src/services/webhdfs/mod.rs b/core/core/src/services/webhdfs/mod.rs index 7dd99edc8..6f2e3095c 100644 --- a/core/core/src/services/webhdfs/mod.rs +++ b/core/core/src/services/webhdfs/mod.rs @@ -32,7 +32,7 @@ mod writer; pub use backend::WebhdfsBuilder as Webhdfs; pub use config::WebhdfsConfig; -#[ctor::ctor] -fn register_webhdfs_service() { +#[small_ctor::ctor] +unsafe fn register_webhdfs_service() { DEFAULT_OPERATOR_REGISTRY.register::<Webhdfs>(WEBHDFS_SCHEME); } diff --git a/core/core/src/services/yandex_disk/mod.rs b/core/core/src/services/yandex_disk/mod.rs index 271d2da6d..82a01fde0 100644 --- a/core/core/src/services/yandex_disk/mod.rs +++ b/core/core/src/services/yandex_disk/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::YandexDiskBuilder as YandexDisk; pub use config::YandexDiskConfig; -#[ctor::ctor] -fn register_yandexdisk_service() { +#[small_ctor::ctor] +unsafe fn register_yandexdisk_service() { DEFAULT_OPERATOR_REGISTRY.register::<YandexDisk>(YANDEX_DISK_SCHEME); } diff --git a/core/services/aliyun-drive/Cargo.toml b/core/services/aliyun-drive/Cargo.toml index af711d04c..7f36a26d1 100644 --- a/core/services/aliyun-drive/Cargo.toml +++ b/core/services/aliyun-drive/Cargo.toml @@ -34,7 +34,7 @@ all-features = true opendal-core = { path = "../../core", version = "0.55.0", default-features = false } bytes = { workspace = true } -ctor = { workspace = true } +small_ctor = { workspace = true } http = { workspace = true } log = { workspace = true } mea = { version = "0.5.1" } diff --git a/core/services/aliyun-drive/src/lib.rs b/core/services/aliyun-drive/src/lib.rs index a70d37719..6b99baa00 100644 --- a/core/services/aliyun-drive/src/lib.rs +++ b/core/services/aliyun-drive/src/lib.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::AliyunDriveBuilder as AliyunDrive; pub use config::AliyunDriveConfig; -#[ctor::ctor] -fn register_aliyun_drive_service() { +#[small_ctor::ctor] +unsafe fn register_aliyun_drive_service() { DEFAULT_OPERATOR_REGISTRY.register::<AliyunDrive>(ALIYUN_DRIVE_SCHEME); } diff --git a/core/services/azblob/Cargo.toml b/core/services/azblob/Cargo.toml index a33c606bb..d8dfe6895 100644 --- a/core/services/azblob/Cargo.toml +++ b/core/services/azblob/Cargo.toml @@ -36,7 +36,7 @@ opendal-service-azure-common = { path = "../azure-common", version = "0.55.0" } base64 = { workspace = true } bytes = { workspace = true } -ctor = { workspace = true } +small_ctor = { workspace = true } http = { workspace = true } log = { workspace = true } quick-xml = { workspace = true, features = ["serialize", "overlapped-lists"] } diff --git a/core/services/azblob/src/lib.rs b/core/services/azblob/src/lib.rs index 69fdf9d88..ddf04dae5 100644 --- a/core/services/azblob/src/lib.rs +++ b/core/services/azblob/src/lib.rs @@ -31,7 +31,7 @@ pub mod writer; pub use backend::AzblobBuilder as Azblob; pub use config::AzblobConfig; -#[ctor::ctor] -fn register_azblob_service() { +#[small_ctor::ctor] +unsafe fn register_azblob_service() { DEFAULT_OPERATOR_REGISTRY.register::<Azblob>(AZBLOB_SCHEME); } diff --git a/core/services/azdls/Cargo.toml b/core/services/azdls/Cargo.toml index e0c6e3226..89dc92439 100644 --- a/core/services/azdls/Cargo.toml +++ b/core/services/azdls/Cargo.toml @@ -35,7 +35,7 @@ opendal-core = { path = "../../core", version = "0.55.0", default-features = fal opendal-service-azure-common = { path = "../azure-common", version = "0.55.0" } bytes = { workspace = true } -ctor = { workspace = true } +small_ctor = { workspace = true } http = { workspace = true } log = { workspace = true } quick-xml = { workspace = true, features = ["serialize", "overlapped-lists"] } diff --git a/core/services/azdls/src/lib.rs b/core/services/azdls/src/lib.rs index 9c139e977..73f03cce8 100644 --- a/core/services/azdls/src/lib.rs +++ b/core/services/azdls/src/lib.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::AzdlsBuilder as Azdls; pub use config::AzdlsConfig; -#[ctor::ctor] -fn register_azdls_service() { +#[small_ctor::ctor] +unsafe fn register_azdls_service() { DEFAULT_OPERATOR_REGISTRY.register::<Azdls>(AZDLS_SCHEME); } diff --git a/core/services/azfile/Cargo.toml b/core/services/azfile/Cargo.toml index 85fe442ea..967886aba 100644 --- a/core/services/azfile/Cargo.toml +++ b/core/services/azfile/Cargo.toml @@ -35,7 +35,7 @@ opendal-core = { path = "../../core", version = "0.55.0", default-features = fal opendal-service-azure-common = { path = "../azure-common", version = "0.55.0" } bytes = { workspace = true } -ctor = { workspace = true } +small_ctor = { workspace = true } http = { workspace = true } log = { workspace = true } quick-xml = { workspace = true, features = ["serialize", "overlapped-lists"] } diff --git a/core/services/azfile/src/lib.rs b/core/services/azfile/src/lib.rs index ea3f41abf..a048c39c0 100644 --- a/core/services/azfile/src/lib.rs +++ b/core/services/azfile/src/lib.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::AzfileBuilder as Azfile; pub use config::AzfileConfig; -#[ctor::ctor] -fn register_azfile_service() { +#[small_ctor::ctor] +unsafe fn register_azfile_service() { DEFAULT_OPERATOR_REGISTRY.register::<Azfile>(AZFILE_SCHEME); } diff --git a/core/services/cloudflare-kv/Cargo.toml b/core/services/cloudflare-kv/Cargo.toml index 4e1a9b5aa..34c5e6f3c 100644 --- a/core/services/cloudflare-kv/Cargo.toml +++ b/core/services/cloudflare-kv/Cargo.toml @@ -34,7 +34,7 @@ all-features = true opendal-core = { path = "../../core", version = "0.55.0", default-features = false } bytes = { workspace = true } -ctor = { workspace = true } +small_ctor = { workspace = true } http = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } diff --git a/core/services/cloudflare-kv/src/lib.rs b/core/services/cloudflare-kv/src/lib.rs index fc0d489e0..dcb7be18a 100644 --- a/core/services/cloudflare-kv/src/lib.rs +++ b/core/services/cloudflare-kv/src/lib.rs @@ -34,7 +34,7 @@ pub use config::CloudflareKvConfig; /// Default scheme for cloudflare-kv service. pub const CLOUDFLARE_KV_SCHEME: &str = "cloudflare-kv"; -#[ctor::ctor] -fn register_cloudflare_kv_service() { +#[small_ctor::ctor] +unsafe fn register_cloudflare_kv_service() { opendal_core::DEFAULT_OPERATOR_REGISTRY.register::<CloudflareKv>(CLOUDFLARE_KV_SCHEME); } diff --git a/core/services/ftp/Cargo.toml b/core/services/ftp/Cargo.toml index 5a690538d..916a28245 100644 --- a/core/services/ftp/Cargo.toml +++ b/core/services/ftp/Cargo.toml @@ -34,7 +34,7 @@ all-features = true opendal-core = { path = "../../core", version = "0.55.0", default-features = false } bytes = { workspace = true } -ctor = { workspace = true } +small_ctor = { workspace = true } fastpool = "1.0.2" futures = { workspace = true, default-features = false, features = [ "std", diff --git a/core/services/ftp/src/lib.rs b/core/services/ftp/src/lib.rs index c812d83dc..05181c659 100644 --- a/core/services/ftp/src/lib.rs +++ b/core/services/ftp/src/lib.rs @@ -32,7 +32,7 @@ mod writer; pub use backend::FtpBuilder as Ftp; pub use config::FtpConfig; -#[ctor::ctor] -fn register_ftp_service() { +#[small_ctor::ctor] +unsafe fn register_ftp_service() { DEFAULT_OPERATOR_REGISTRY.register::<Ftp>(FTP_SCHEME); } diff --git a/core/services/gcs/Cargo.toml b/core/services/gcs/Cargo.toml index 8780772ec..dbed082a8 100644 --- a/core/services/gcs/Cargo.toml +++ b/core/services/gcs/Cargo.toml @@ -36,7 +36,7 @@ opendal-core = { path = "../../core", version = "0.55.0", default-features = fal backon = "1.6" base64 = { workspace = true } bytes = { workspace = true } -ctor = { workspace = true } +small_ctor = { workspace = true } http = { workspace = true } log = { workspace = true } percent-encoding = "2.3" diff --git a/core/services/gcs/src/lib.rs b/core/services/gcs/src/lib.rs index 9d9b3e80d..92e10ac22 100644 --- a/core/services/gcs/src/lib.rs +++ b/core/services/gcs/src/lib.rs @@ -34,7 +34,7 @@ pub use config::GcsConfig; /// Default scheme for gcs service. pub const GCS_SCHEME: &str = "gcs"; -#[ctor::ctor] -fn register_gcs_service() { +#[small_ctor::ctor] +unsafe fn register_gcs_service() { opendal_core::DEFAULT_OPERATOR_REGISTRY.register::<Gcs>(GCS_SCHEME); } diff --git a/core/services/ghac/Cargo.toml b/core/services/ghac/Cargo.toml index dd9e46012..6cb8a1f7f 100644 --- a/core/services/ghac/Cargo.toml +++ b/core/services/ghac/Cargo.toml @@ -35,7 +35,7 @@ opendal-core = { path = "../../core", version = "0.55.0", default-features = fal opendal-service-azblob = { path = "../azblob", version = "0.55.0", default-features = false } bytes = { workspace = true } -ctor = { workspace = true } +small_ctor = { workspace = true } ghac = { version = "0.2.0", default-features = false } http = { workspace = true } log = { workspace = true } diff --git a/core/services/ghac/src/lib.rs b/core/services/ghac/src/lib.rs index c1981b075..b8e3f805f 100644 --- a/core/services/ghac/src/lib.rs +++ b/core/services/ghac/src/lib.rs @@ -29,7 +29,7 @@ mod writer; pub use backend::GhacBuilder as Ghac; pub use config::GhacConfig; -#[ctor::ctor] -fn register_ghac_service() { +#[small_ctor::ctor] +unsafe fn register_ghac_service() { DEFAULT_OPERATOR_REGISTRY.register::<Ghac>(GHAC_SCHEME); } diff --git a/core/services/hdfs-native/Cargo.toml b/core/services/hdfs-native/Cargo.toml index b6186be67..45e74985d 100644 --- a/core/services/hdfs-native/Cargo.toml +++ b/core/services/hdfs-native/Cargo.toml @@ -34,7 +34,7 @@ all-features = true opendal-core = { path = "../../core", version = "0.55.0", default-features = false } bytes = { workspace = true } -ctor = { workspace = true } +small_ctor = { workspace = true } futures = { workspace = true } hdfs-native = { version = "0.13" } log = { workspace = true } diff --git a/core/services/hdfs-native/src/lib.rs b/core/services/hdfs-native/src/lib.rs index 1f8b77e36..952b0f1ca 100644 --- a/core/services/hdfs-native/src/lib.rs +++ b/core/services/hdfs-native/src/lib.rs @@ -32,7 +32,7 @@ mod writer; pub use backend::HdfsNativeBuilder as HdfsNative; pub use config::HdfsNativeConfig; -#[ctor::ctor] -fn register_hdfs_native_service() { +#[small_ctor::ctor] +unsafe fn register_hdfs_native_service() { DEFAULT_OPERATOR_REGISTRY.register::<HdfsNative>(HDFS_NATIVE_SCHEME); } diff --git a/core/services/ipfs/Cargo.toml b/core/services/ipfs/Cargo.toml index 107665f8f..2ff5c5095 100644 --- a/core/services/ipfs/Cargo.toml +++ b/core/services/ipfs/Cargo.toml @@ -34,7 +34,7 @@ all-features = true opendal-core = { path = "../../core", version = "0.55.0", default-features = false } bytes = { workspace = true } -ctor = { workspace = true } +small_ctor = { workspace = true } http = { workspace = true } log = { workspace = true } prost = "0.13" diff --git a/core/services/ipfs/src/lib.rs b/core/services/ipfs/src/lib.rs index 758545ae5..488d67514 100644 --- a/core/services/ipfs/src/lib.rs +++ b/core/services/ipfs/src/lib.rs @@ -31,7 +31,7 @@ pub use config::IpfsConfig; /// Default scheme for ipfs service. pub const IPFS_SCHEME: &str = "ipfs"; -#[ctor::ctor] -fn register_ipfs_service() { +#[small_ctor::ctor] +unsafe fn register_ipfs_service() { opendal_core::DEFAULT_OPERATOR_REGISTRY.register::<Ipfs>(IPFS_SCHEME); } diff --git a/core/services/moka/Cargo.toml b/core/services/moka/Cargo.toml index 6bb402dd8..e80d9e64d 100644 --- a/core/services/moka/Cargo.toml +++ b/core/services/moka/Cargo.toml @@ -33,7 +33,7 @@ all-features = true [dependencies] opendal-core = { path = "../../core", version = "0.55.0", default-features = false } -ctor = { workspace = true } +small_ctor = { workspace = true } log = { workspace = true } moka = { version = "0.12", features = ["future", "sync"] } serde = { workspace = true, features = ["derive"] } diff --git a/core/services/moka/src/lib.rs b/core/services/moka/src/lib.rs index 9b9e70215..eff732f30 100644 --- a/core/services/moka/src/lib.rs +++ b/core/services/moka/src/lib.rs @@ -34,7 +34,7 @@ pub use core::MokaValue; /// Default scheme for moka service. pub const MOKA_SCHEME: &str = "moka"; -#[ctor::ctor] -fn register_moka_service() { +#[small_ctor::ctor] +unsafe fn register_moka_service() { opendal_core::DEFAULT_OPERATOR_REGISTRY.register::<Moka>(MOKA_SCHEME); } diff --git a/core/services/mysql/Cargo.toml b/core/services/mysql/Cargo.toml index 99efc9871..e4ef0c782 100644 --- a/core/services/mysql/Cargo.toml +++ b/core/services/mysql/Cargo.toml @@ -33,7 +33,7 @@ all-features = true [dependencies] opendal-core = { path = "../../core", version = "0.55.0", default-features = false } -ctor = { workspace = true } +small_ctor = { workspace = true } mea = { version = "0.5.1" } serde = { workspace = true, features = ["derive"] } sqlx = { version = "0.8.0", features = ["runtime-tokio-rustls", "mysql"] } diff --git a/core/services/mysql/src/lib.rs b/core/services/mysql/src/lib.rs index c16bcdc06..f8984c287 100644 --- a/core/services/mysql/src/lib.rs +++ b/core/services/mysql/src/lib.rs @@ -29,7 +29,7 @@ mod writer; pub use backend::MysqlBuilder as Mysql; pub use config::MysqlConfig; -#[ctor::ctor] -fn register_mysql_service() { +#[small_ctor::ctor] +unsafe fn register_mysql_service() { DEFAULT_OPERATOR_REGISTRY.register::<Mysql>(MYSQL_SCHEME); } diff --git a/core/services/obs/Cargo.toml b/core/services/obs/Cargo.toml index fbd4292e5..632d54909 100644 --- a/core/services/obs/Cargo.toml +++ b/core/services/obs/Cargo.toml @@ -34,7 +34,7 @@ all-features = true opendal-core = { path = "../../core", version = "0.55.0", default-features = false } bytes = { workspace = true } -ctor = { workspace = true } +small_ctor = { workspace = true } http = { workspace = true } log = { workspace = true } quick-xml = { workspace = true, features = ["serialize", "overlapped-lists"] } diff --git a/core/services/obs/src/lib.rs b/core/services/obs/src/lib.rs index aa60f8e09..256c5226c 100644 --- a/core/services/obs/src/lib.rs +++ b/core/services/obs/src/lib.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::ObsBuilder as Obs; pub use config::ObsConfig; -#[ctor::ctor] -fn register_obs_service() { +#[small_ctor::ctor] +unsafe fn register_obs_service() { DEFAULT_OPERATOR_REGISTRY.register::<Obs>(OBS_SCHEME); } diff --git a/core/services/oss/Cargo.toml b/core/services/oss/Cargo.toml index 9448602a1..2f1958c2c 100644 --- a/core/services/oss/Cargo.toml +++ b/core/services/oss/Cargo.toml @@ -34,7 +34,7 @@ all-features = true opendal-core = { path = "../../core", version = "0.55.0", default-features = false } bytes = { workspace = true } -ctor = { workspace = true } +small_ctor = { workspace = true } http = { workspace = true } log = { workspace = true } quick-xml = { workspace = true, features = ["serialize", "overlapped-lists"] } diff --git a/core/services/oss/src/lib.rs b/core/services/oss/src/lib.rs index a995973d2..03cbce1b4 100644 --- a/core/services/oss/src/lib.rs +++ b/core/services/oss/src/lib.rs @@ -33,7 +33,7 @@ pub use config::OssConfig; /// Default scheme for oss service. pub const OSS_SCHEME: &str = "oss"; -#[ctor::ctor] -fn register_oss_service() { +#[small_ctor::ctor] +unsafe fn register_oss_service() { opendal_core::DEFAULT_OPERATOR_REGISTRY.register::<Oss>(OSS_SCHEME); } diff --git a/core/services/postgresql/Cargo.toml b/core/services/postgresql/Cargo.toml index 926aaeef3..0a88871c3 100644 --- a/core/services/postgresql/Cargo.toml +++ b/core/services/postgresql/Cargo.toml @@ -33,7 +33,7 @@ all-features = true [dependencies] opendal-core = { path = "../../core", version = "0.55.0", default-features = false } -ctor = { workspace = true } +small_ctor = { workspace = true } mea = { version = "0.5.1" } serde = { workspace = true, features = ["derive"] } sqlx = { version = "0.8.0", features = ["runtime-tokio-rustls", "postgres"] } diff --git a/core/services/postgresql/src/lib.rs b/core/services/postgresql/src/lib.rs index 0d2d27635..f36bc44ff 100644 --- a/core/services/postgresql/src/lib.rs +++ b/core/services/postgresql/src/lib.rs @@ -29,7 +29,7 @@ mod writer; pub use backend::PostgresqlBuilder as Postgresql; pub use config::PostgresqlConfig; -#[ctor::ctor] -fn register_postgresql_service() { +#[small_ctor::ctor] +unsafe fn register_postgresql_service() { DEFAULT_OPERATOR_REGISTRY.register::<Postgresql>(POSTGRESQL_SCHEME); } diff --git a/core/services/s3/Cargo.toml b/core/services/s3/Cargo.toml index 923cdedcb..331b68103 100644 --- a/core/services/s3/Cargo.toml +++ b/core/services/s3/Cargo.toml @@ -36,7 +36,7 @@ opendal-core = { path = "../../core", version = "0.55.0", default-features = fal base64 = { workspace = true } bytes = { workspace = true } crc32c = "0.6.6" -ctor = { workspace = true } +small_ctor = { workspace = true } http = { workspace = true } log = { workspace = true } md-5 = "0.10" diff --git a/core/services/s3/src/lib.rs b/core/services/s3/src/lib.rs index 57b39c419..bb8085d7c 100644 --- a/core/services/s3/src/lib.rs +++ b/core/services/s3/src/lib.rs @@ -33,7 +33,7 @@ pub use config::S3Config; /// Default scheme for s3 service. pub const S3_SCHEME: &str = "s3"; -#[ctor::ctor] -fn register_s3_service() { +#[small_ctor::ctor] +unsafe fn register_s3_service() { opendal_core::DEFAULT_OPERATOR_REGISTRY.register::<S3>(S3_SCHEME); } diff --git a/core/services/s3/src/mod.rs b/core/services/s3/src/mod.rs index 5407b1653..580c0f2fe 100644 --- a/core/services/s3/src/mod.rs +++ b/core/services/s3/src/mod.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::S3Builder as S3; pub use config::S3Config; -#[ctor::ctor] -fn register_s3_service() { +#[small_ctor::ctor] +unsafe fn register_s3_service() { DEFAULT_OPERATOR_REGISTRY.register::<S3>(S3_SCHEME); } diff --git a/core/services/sled/Cargo.toml b/core/services/sled/Cargo.toml index e6cf682c9..b20b40a5f 100644 --- a/core/services/sled/Cargo.toml +++ b/core/services/sled/Cargo.toml @@ -35,6 +35,6 @@ opendal-core = { path = "../../core", version = "0.55.0", default-features = fal "internal-tokio-rt", ] } -ctor = { workspace = true } +small_ctor = { workspace = true } serde = { workspace = true, features = ["derive"] } sled = "0.34.7" diff --git a/core/services/sled/src/lib.rs b/core/services/sled/src/lib.rs index 91196be64..1134c0675 100644 --- a/core/services/sled/src/lib.rs +++ b/core/services/sled/src/lib.rs @@ -30,7 +30,7 @@ mod writer; pub use backend::SledBuilder as Sled; pub use config::SledConfig; -#[ctor::ctor] -fn register_sled_service() { +#[small_ctor::ctor] +unsafe fn register_sled_service() { DEFAULT_OPERATOR_REGISTRY.register::<Sled>(SLED_SCHEME); } diff --git a/core/services/tikv/Cargo.toml b/core/services/tikv/Cargo.toml index 1686dc076..304b88f2d 100644 --- a/core/services/tikv/Cargo.toml +++ b/core/services/tikv/Cargo.toml @@ -33,7 +33,7 @@ all-features = true [dependencies] opendal-core = { path = "../../core", version = "0.55.0", default-features = false } -ctor = { workspace = true } +small_ctor = { workspace = true } mea = { version = "0.5.1" } serde = { workspace = true, features = ["derive"] } tikv-client = { version = "0.3.0", default-features = false } diff --git a/core/services/tikv/src/lib.rs b/core/services/tikv/src/lib.rs index 4eeb536ef..82750fefc 100644 --- a/core/services/tikv/src/lib.rs +++ b/core/services/tikv/src/lib.rs @@ -29,7 +29,7 @@ mod writer; pub use backend::TikvBuilder as Tikv; pub use config::TikvConfig; -#[ctor::ctor] -fn register_tikv_service() { +#[small_ctor::ctor] +unsafe fn register_tikv_service() { DEFAULT_OPERATOR_REGISTRY.register::<Tikv>(TIKV_SCHEME); } diff --git a/core/services/vercel-blob/Cargo.toml b/core/services/vercel-blob/Cargo.toml index d7ff7eb75..614aa9389 100644 --- a/core/services/vercel-blob/Cargo.toml +++ b/core/services/vercel-blob/Cargo.toml @@ -34,7 +34,7 @@ all-features = true opendal-core = { path = "../../core", version = "0.55.0", default-features = false } bytes = { workspace = true } -ctor = { workspace = true } +small_ctor = { workspace = true } http = { workspace = true } log = { workspace = true } quick-xml = { workspace = true, features = ["serialize", "overlapped-lists"] } diff --git a/core/services/vercel-blob/src/lib.rs b/core/services/vercel-blob/src/lib.rs index 495297e0b..932516340 100644 --- a/core/services/vercel-blob/src/lib.rs +++ b/core/services/vercel-blob/src/lib.rs @@ -31,7 +31,7 @@ mod writer; pub use backend::VercelBlobBuilder as VercelBlob; pub use config::VercelBlobConfig; -#[ctor::ctor] -fn register_vercelblob_service() { +#[small_ctor::ctor] +unsafe fn register_vercelblob_service() { DEFAULT_OPERATOR_REGISTRY.register::<VercelBlob>(VERCEL_BLOB_SCHEME); }
