Trying to fix cargo test on drone.

This commit is contained in:
Dessalines 2022-10-24 19:57:18 -04:00
parent da6be58329
commit 0ef0d0d24a
8 changed files with 178 additions and 89 deletions

243
Cargo.lock generated
View file

@ -74,7 +74,7 @@ dependencies = [
"pin-project-lite", "pin-project-lite",
"smallvec", "smallvec",
"tokio", "tokio",
"tokio-util", "tokio-util 0.7.4",
] ]
[[package]] [[package]]
@ -91,7 +91,7 @@ dependencies = [
"memchr", "memchr",
"pin-project-lite", "pin-project-lite",
"tokio", "tokio",
"tokio-util", "tokio-util 0.7.4",
] ]
[[package]] [[package]]
@ -206,7 +206,7 @@ dependencies = [
"log", "log",
"pin-project-lite", "pin-project-lite",
"tokio-rustls", "tokio-rustls",
"tokio-util", "tokio-util 0.7.4",
"webpki-roots", "webpki-roots",
] ]
@ -747,9 +747,9 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e57ff02e8ad8e06ab9731d5dc72dc23bef9200778eae1a89d555d8c42e5d4a86" checksum = "e57ff02e8ad8e06ab9731d5dc72dc23bef9200778eae1a89d555d8c42e5d4a86"
dependencies = [ dependencies = [
"prost", "prost 0.11.0",
"prost-types", "prost-types 0.11.1",
"tonic", "tonic 0.8.2",
"tracing-core", "tracing-core",
] ]
@ -765,13 +765,13 @@ dependencies = [
"futures", "futures",
"hdrhistogram", "hdrhistogram",
"humantime", "humantime",
"prost-types", "prost-types 0.11.1",
"serde", "serde",
"serde_json", "serde_json",
"thread_local", "thread_local",
"tokio", "tokio",
"tokio-stream", "tokio-stream",
"tonic", "tonic 0.8.2",
"tracing", "tracing",
"tracing-core", "tracing-core",
"tracing-subscriber", "tracing-subscriber",
@ -1569,7 +1569,7 @@ dependencies = [
"indexmap", "indexmap",
"slab", "slab",
"tokio", "tokio",
"tokio-util", "tokio-util 0.7.4",
"tracing", "tracing",
] ]
@ -1595,6 +1595,15 @@ dependencies = [
"num-traits", "num-traits",
] ]
[[package]]
name = "heck"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
dependencies = [
"unicode-segmentation",
]
[[package]] [[package]]
name = "heck" name = "heck"
version = "0.4.0" version = "0.4.0"
@ -1610,12 +1619,6 @@ dependencies = [
"libc", "libc",
] ]
[[package]]
name = "hex"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]] [[package]]
name = "hmac" name = "hmac"
version = "0.12.1" version = "0.12.1"
@ -1911,7 +1914,6 @@ checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"hashbrown", "hashbrown",
"serde",
] ]
[[package]] [[package]]
@ -2238,7 +2240,7 @@ dependencies = [
"lemmy_routes", "lemmy_routes",
"lemmy_utils", "lemmy_utils",
"lemmy_websocket", "lemmy_websocket",
"opentelemetry 0.18.0", "opentelemetry 0.17.0",
"opentelemetry-otlp", "opentelemetry-otlp",
"parking_lot", "parking_lot",
"reqwest", "reqwest",
@ -2250,7 +2252,7 @@ dependencies = [
"tracing-actix-web", "tracing-actix-web",
"tracing-error", "tracing-error",
"tracing-log", "tracing-log",
"tracing-opentelemetry 0.18.0", "tracing-opentelemetry 0.17.4",
"tracing-subscriber", "tracing-subscriber",
"url", "url",
] ]
@ -2769,6 +2771,27 @@ dependencies = [
"thiserror", "thiserror",
] ]
[[package]]
name = "opentelemetry"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6105e89802af13fdf48c49d7646d3b533a70e536d818aae7e78ba0433d01acb8"
dependencies = [
"async-trait",
"crossbeam-channel",
"futures-channel",
"futures-executor",
"futures-util",
"js-sys",
"lazy_static",
"percent-encoding",
"pin-project",
"rand 0.8.5",
"thiserror",
"tokio",
"tokio-stream",
]
[[package]] [[package]]
name = "opentelemetry" name = "opentelemetry"
version = "0.18.0" version = "0.18.0"
@ -2781,33 +2804,19 @@ dependencies = [
[[package]] [[package]]
name = "opentelemetry-otlp" name = "opentelemetry-otlp"
version = "0.11.0" version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1c928609d087790fc936a1067bdc310ae702bdf3b090c3f281b713622c8bbde" checksum = "9d1a6ca9de4c8b00aa7f1a153bd76cb263287155cec642680d79d98706f3d28a"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"futures", "futures",
"futures-util", "futures-util",
"http", "http",
"opentelemetry 0.18.0", "opentelemetry 0.17.0",
"opentelemetry-proto", "prost 0.9.0",
"prost",
"thiserror", "thiserror",
"tokio", "tokio",
"tonic", "tonic 0.6.2",
]
[[package]]
name = "opentelemetry-proto"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d61a2f56df5574508dd86aaca016c917489e589ece4141df1b5e349af8d66c28"
dependencies = [
"futures",
"futures-util",
"opentelemetry 0.18.0",
"prost",
"tonic",
"tonic-build", "tonic-build",
] ]
@ -2845,8 +2854,6 @@ dependencies = [
"percent-encoding", "percent-encoding",
"rand 0.8.5", "rand 0.8.5",
"thiserror", "thiserror",
"tokio",
"tokio-stream",
] ]
[[package]] [[package]]
@ -3147,16 +3154,6 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
[[package]]
name = "prettyplease"
version = "0.1.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c142c0e46b57171fe0c528bee8c5b7569e80f0c17e377cd0e30ea57dbc11bb51"
dependencies = [
"proc-macro2 1.0.47",
"syn 1.0.103",
]
[[package]] [[package]]
name = "proc-macro-error" name = "proc-macro-error"
version = "1.0.4" version = "1.0.4"
@ -3199,6 +3196,16 @@ dependencies = [
"unicode-ident", "unicode-ident",
] ]
[[package]]
name = "prost"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001"
dependencies = [
"bytes",
"prost-derive 0.9.0",
]
[[package]] [[package]]
name = "prost" name = "prost"
version = "0.11.0" version = "0.11.0"
@ -3206,29 +3213,42 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "399c3c31cdec40583bb68f0b18403400d01ec4289c383aa047560439952c4dd7" checksum = "399c3c31cdec40583bb68f0b18403400d01ec4289c383aa047560439952c4dd7"
dependencies = [ dependencies = [
"bytes", "bytes",
"prost-derive", "prost-derive 0.11.0",
] ]
[[package]] [[package]]
name = "prost-build" name = "prost-build"
version = "0.11.1" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f835c582e6bd972ba8347313300219fed5bfa52caf175298d860b61ff6069bb" checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5"
dependencies = [ dependencies = [
"bytes", "bytes",
"heck", "heck 0.3.3",
"itertools", "itertools",
"lazy_static", "lazy_static",
"log", "log",
"multimap", "multimap",
"petgraph", "petgraph",
"prost", "prost 0.9.0",
"prost-types", "prost-types 0.9.0",
"regex", "regex",
"tempfile", "tempfile",
"which", "which",
] ]
[[package]]
name = "prost-derive"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe"
dependencies = [
"anyhow",
"itertools",
"proc-macro2 1.0.47",
"quote 1.0.21",
"syn 1.0.103",
]
[[package]] [[package]]
name = "prost-derive" name = "prost-derive"
version = "0.11.0" version = "0.11.0"
@ -3242,6 +3262,16 @@ dependencies = [
"syn 1.0.103", "syn 1.0.103",
] ]
[[package]]
name = "prost-types"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a"
dependencies = [
"bytes",
"prost 0.9.0",
]
[[package]] [[package]]
name = "prost-types" name = "prost-types"
version = "0.11.1" version = "0.11.1"
@ -3249,7 +3279,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4dfaa718ad76a44b3415e6c4d53b17c8f99160dcb3a99b10470fce8ad43f6e3e" checksum = "4dfaa718ad76a44b3415e6c4d53b17c8f99160dcb3a99b10470fce8ad43f6e3e"
dependencies = [ dependencies = [
"bytes", "bytes",
"prost", "prost 0.11.0",
] ]
[[package]] [[package]]
@ -3458,7 +3488,7 @@ dependencies = [
"serde_urlencoded", "serde_urlencoded",
"tokio", "tokio",
"tokio-native-tls", "tokio-native-tls",
"tokio-util", "tokio-util 0.7.4",
"tower-service", "tower-service",
"url", "url",
"wasm-bindgen", "wasm-bindgen",
@ -3746,27 +3776,21 @@ dependencies = [
[[package]] [[package]]
name = "serde_with" name = "serde_with"
version = "2.0.1" version = "1.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "368f2d60d049ea019a84dcd6687b0d1e0030fe663ae105039bdf967ed5e6a9a7" checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff"
dependencies = [ dependencies = [
"base64",
"chrono",
"hex",
"indexmap",
"serde", "serde",
"serde_json",
"serde_with_macros", "serde_with_macros",
"time 0.3.15",
] ]
[[package]] [[package]]
name = "serde_with_macros" name = "serde_with_macros"
version = "2.0.1" version = "1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ccadfacf6cf10faad22bbadf55986bdd0856edfb5d9210aa1dcf1f516e84e93" checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082"
dependencies = [ dependencies = [
"darling 0.14.1", "darling 0.13.4",
"proc-macro2 1.0.47", "proc-macro2 1.0.47",
"quote 1.0.21", "quote 1.0.21",
"syn 1.0.103", "syn 1.0.103",
@ -3964,7 +3988,7 @@ version = "0.24.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
dependencies = [ dependencies = [
"heck", "heck 0.4.0",
"proc-macro2 1.0.47", "proc-macro2 1.0.47",
"quote 1.0.21", "quote 1.0.21",
"rustversion", "rustversion",
@ -4145,6 +4169,7 @@ dependencies = [
"libc", "libc",
"memchr", "memchr",
"mio", "mio",
"num_cpus",
"parking_lot", "parking_lot",
"pin-project-lite", "pin-project-lite",
"signal-hook-registry", "signal-hook-registry",
@ -4206,7 +4231,7 @@ dependencies = [
"postgres-types", "postgres-types",
"socket2", "socket2",
"tokio", "tokio",
"tokio-util", "tokio-util 0.7.4",
] ]
[[package]] [[package]]
@ -4231,6 +4256,20 @@ dependencies = [
"tokio", "tokio",
] ]
[[package]]
name = "tokio-util"
version = "0.6.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507"
dependencies = [
"bytes",
"futures-core",
"futures-sink",
"log",
"pin-project-lite",
"tokio",
]
[[package]] [[package]]
name = "tokio-util" name = "tokio-util"
version = "0.7.4" version = "0.7.4"
@ -4254,6 +4293,37 @@ dependencies = [
"serde", "serde",
] ]
[[package]]
name = "tonic"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff08f4649d10a70ffa3522ca559031285d8e421d727ac85c60825761818f5d0a"
dependencies = [
"async-stream",
"async-trait",
"base64",
"bytes",
"futures-core",
"futures-util",
"h2",
"http",
"http-body",
"hyper",
"hyper-timeout",
"percent-encoding",
"pin-project",
"prost 0.9.0",
"prost-derive 0.9.0",
"tokio",
"tokio-stream",
"tokio-util 0.6.10",
"tower",
"tower-layer",
"tower-service",
"tracing",
"tracing-futures",
]
[[package]] [[package]]
name = "tonic" name = "tonic"
version = "0.8.2" version = "0.8.2"
@ -4274,11 +4344,11 @@ dependencies = [
"hyper-timeout", "hyper-timeout",
"percent-encoding", "percent-encoding",
"pin-project", "pin-project",
"prost", "prost 0.11.0",
"prost-derive", "prost-derive 0.11.0",
"tokio", "tokio",
"tokio-stream", "tokio-stream",
"tokio-util", "tokio-util 0.7.4",
"tower", "tower",
"tower-layer", "tower-layer",
"tower-service", "tower-service",
@ -4288,11 +4358,10 @@ dependencies = [
[[package]] [[package]]
name = "tonic-build" name = "tonic-build"
version = "0.8.2" version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48c6fd7c2581e36d63388a9e04c350c21beb7a8b059580b2e93993c526899ddc" checksum = "9403f1bafde247186684b230dc6f38b5cd514584e8bec1dd32514be4745fa757"
dependencies = [ dependencies = [
"prettyplease",
"proc-macro2 1.0.47", "proc-macro2 1.0.47",
"prost-build", "prost-build",
"quote 1.0.21", "quote 1.0.21",
@ -4313,7 +4382,7 @@ dependencies = [
"rand 0.8.5", "rand 0.8.5",
"slab", "slab",
"tokio", "tokio",
"tokio-util", "tokio-util 0.7.4",
"tower-layer", "tower-layer",
"tower-service", "tower-service",
"tracing", "tracing",
@ -4440,6 +4509,20 @@ dependencies = [
"tracing-subscriber", "tracing-subscriber",
] ]
[[package]]
name = "tracing-opentelemetry"
version = "0.17.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbbe89715c1dbbb790059e2565353978564924ee85017b5fff365c872ff6721f"
dependencies = [
"once_cell",
"opentelemetry 0.17.0",
"tracing",
"tracing-core",
"tracing-log",
"tracing-subscriber",
]
[[package]] [[package]]
name = "tracing-opentelemetry" name = "tracing-opentelemetry"
version = "0.18.0" version = "0.18.0"
@ -4537,6 +4620,12 @@ dependencies = [
"tinyvec", "tinyvec",
] ]
[[package]]
name = "unicode-segmentation"
version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a"
[[package]] [[package]]
name = "unicode-width" name = "unicode-width"
version = "0.1.10" version = "0.1.10"

View file

@ -50,11 +50,11 @@ diesel-async = "0.1.1"
serde = { version = "1.0.147", features = ["derive"] } serde = { version = "1.0.147", features = ["derive"] }
actix = "0.13.0" actix = "0.13.0"
actix-web = { version = "4.2.1", default-features = false, features = ["macros", "rustls"] } actix-web = { version = "4.2.1", default-features = false, features = ["macros", "rustls"] }
tracing = "0.1.37" tracing = "0.1.36"
tracing-actix-web = { version = "0.6.1", default-features = false } tracing-actix-web = { version = "0.6.1", default-features = false }
tracing-error = "0.2.0" tracing-error = "0.2.0"
tracing-log = "0.1.3" tracing-log = "0.1.3"
tracing-subscriber = { version = "0.3.16", features = ["env-filter"] } tracing-subscriber = { version = "0.3.15", features = ["env-filter"] }
url = { version = "2.3.1", features = ["serde"] } url = { version = "2.3.1", features = ["serde"] }
reqwest = { version = "0.11.12", features = ["json"] } reqwest = { version = "0.11.12", features = ["json"] }
reqwest-middleware = "0.1.6" reqwest-middleware = "0.1.6"
@ -64,6 +64,6 @@ doku = { version = "0.12.0", features = ["url-2"] }
parking_lot = "0.12.1" parking_lot = "0.12.1"
reqwest-retry = "0.1.5" reqwest-retry = "0.1.5"
console-subscriber = { version = "0.1.8", optional = true } console-subscriber = { version = "0.1.8", optional = true }
opentelemetry = { version = "0.18.0", features = ["rt-tokio"], optional = true } opentelemetry = { version = "0.17.0", features = ["rt-tokio"], optional = true }
opentelemetry-otlp = { version = "0.11.0", optional = true } opentelemetry-otlp = { version = "0.10.0", optional = true }
tracing-opentelemetry = { version = "0.18.0", optional = true } tracing-opentelemetry = { version = "0.17.2", optional = true }

View file

@ -29,7 +29,7 @@ url = "2.3.1"
actix-web = { version = "4.2.1", default-features = false, features = ["cookies"], optional = true } actix-web = { version = "4.2.1", default-features = false, features = ["cookies"], optional = true }
chrono = { version = "0.4.22", features = ["serde"], optional = true } chrono = { version = "0.4.22", features = ["serde"], optional = true }
diesel = { version = "2.0.2", optional = true } diesel = { version = "2.0.2", optional = true }
tracing = { version = "0.1.37", optional = true } tracing = { version = "0.1.36", optional = true }
rosetta-i18n = { version = "0.1.2", optional = true } rosetta-i18n = { version = "0.1.2", optional = true }
percent-encoding = { version = "2.2.0", optional = true } percent-encoding = { version = "2.2.0", optional = true }
encoding = { version = "0.2.33", optional = true } encoding = { version = "0.2.33", optional = true }

View file

@ -21,7 +21,7 @@ bcrypt = "0.13.0"
serde_json = { version = "1.0.87", features = ["preserve_order"] } serde_json = { version = "1.0.87", features = ["preserve_order"] }
serde = { version = "1.0.147", features = ["derive"] } serde = { version = "1.0.147", features = ["derive"] }
actix-web = { version = "4.2.1", default-features = false } actix-web = { version = "4.2.1", default-features = false }
tracing = "0.1.37" tracing = "0.1.36"
url = { version = "2.3.1", features = ["serde"] } url = { version = "2.3.1", features = ["serde"] }
async-trait = "0.1.58" async-trait = "0.1.58"
webmention = "0.4.0" webmention = "0.4.0"

View file

@ -26,11 +26,11 @@ activitystreams-kinds = "0.2.1"
chrono = { version = "0.4.22", features = ["serde"], default-features = false } chrono = { version = "0.4.22", features = ["serde"], default-features = false }
serde_json = { version = "1.0.87", features = ["preserve_order"] } serde_json = { version = "1.0.87", features = ["preserve_order"] }
serde = { version = "1.0.147", features = ["derive"] } serde = { version = "1.0.147", features = ["derive"] }
serde_with = "2.0.1" serde_with = "1.14.0"
actix = "0.13.0" actix = "0.13.0"
actix-web = { version = "4.2.1", default-features = false } actix-web = { version = "4.2.1", default-features = false }
actix-rt = { version = "2.7.0", default-features = false } actix-rt = { version = "2.7.0", default-features = false }
tracing = "0.1.37" tracing = "0.1.36"
strum_macros = "0.24.3" strum_macros = "0.24.3"
url = { version = "2.3.1", features = ["serde"] } url = { version = "2.3.1", features = ["serde"] }
http = "0.2.8" http = "0.2.8"

View file

@ -20,7 +20,7 @@ diesel = { version = "2.0.2", features = ["postgres","chrono","serde_json"], opt
diesel-async = { version = "0.1.1", features = ["postgres", "bb8"], optional = true} diesel-async = { version = "0.1.1", features = ["postgres", "bb8"], optional = true}
diesel_ltree = { version = "0.3.0", optional = true} diesel_ltree = { version = "0.3.0", optional = true}
serde = { version = "1.0.147", features = ["derive"] } serde = { version = "1.0.147", features = ["derive"] }
tracing = { version = "0.1.37", optional = true } tracing = { version = "0.1.36", optional = true }
typed-builder = "0.10.0" typed-builder = "0.10.0"
url = { version = "2.3.1", features = ["serde"] } url = { version = "2.3.1", features = ["serde"] }

View file

@ -31,5 +31,5 @@ serde = { version = "1.0.147", features = ["derive"] }
url = { version = "2.3.1", features = ["serde"] } url = { version = "2.3.1", features = ["serde"] }
strum = "0.24.1" strum = "0.24.1"
once_cell = "1.15.0" once_cell = "1.15.0"
tracing = "0.1.37" tracing = "0.1.36"
tokio = { version = "1.21.2", features = ["sync"] } tokio = { version = "1.21.2", features = ["sync"] }

View file

@ -20,7 +20,7 @@ lemmy_db_schema = { version = "=0.16.5", path = "../db_schema", features = ["ful
lemmy_db_views = { version = "=0.16.5", path = "../db_views", features = ["full"] } lemmy_db_views = { version = "=0.16.5", path = "../db_views", features = ["full"] }
lemmy_db_views_actor = { version = "=0.16.5", path = "../db_views_actor", features = ["full"] } lemmy_db_views_actor = { version = "=0.16.5", path = "../db_views_actor", features = ["full"] }
reqwest-middleware = "0.1.6" reqwest-middleware = "0.1.6"
tracing = "0.1.37" tracing = "0.1.36"
rand = "0.8.5" rand = "0.8.5"
serde = { version = "1.0.147", features = ["derive"] } serde = { version = "1.0.147", features = ["derive"] }
serde_json = { version = "1.0.87", features = ["preserve_order"] } serde_json = { version = "1.0.87", features = ["preserve_order"] }