mirror of
https://github.com/servo/servo
synced 2026-04-25 17:15:48 +02:00
Bumps [hyper](https://github.com/hyperium/hyper) from 1.7.0 to 1.8.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/hyperium/hyper/releases">hyper's releases</a>.</em></p> <blockquote> <h2>v1.8.0</h2> <h2>Highlights</h2> <h3>Features</h3> <ul> <li><strong>rt:</strong> add <code>Timer::now()</code> method to allow overriding the instant returned (<a href="https://redirect.github.com/hyperium/hyper/issues/3965">#3965</a>) (<a href="5509ebe615">5509ebe6</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>http1:</strong> fix rare missed write wakeup on connections (<a href="https://redirect.github.com/hyperium/hyper/issues/3952">#3952</a>) (<a href="2377b893f6">2377b893</a>)</li> <li><strong>http2:</strong> fix internals of HTTP/2 CONNECT upgrades (<a href="https://redirect.github.com/hyperium/hyper/issues/3967">#3967</a>) (<a href="58e0e7dc70">58e0e7dc</a>, closes <a href="https://redirect.github.com/hyperium/hyper/issues/3966">#3966</a>)</li> </ul> <h3>Breaking Changes</h3> <p>While technically breaking, it's assumed you will not need to do anything or be affected.</p> <ul> <li> <p>The HTTP/2 client connection no longer allows an executor that can not spawn itself.</p> <p>This was an oversight originally. The client connection will now include spawning a future that keeps a copy of the executor to spawn other futures. Thus, if it is <code>!Send</code>, it needs to spawn <code>!Send</code> futures. The likelihood of executors that match the previously allowed behavior should be very remote.</p> <p>There is also technically a semver break in here, which is that the <code>Http2ClientConnExec</code> trait no longer dyn-compatible, because it now expects to be <code>Clone</code>. This should not break usage of the <code>conn</code> builder, because it already separately had <code>E: Clone</code> bounds. If someone were using <code>dyn Http2ClientConnExec</code>, that will break. However, there is no purpose for doing so, and it is not usable otherwise, since the trait only exists to propagate bounds into hyper. Thus, the breakage should not affect anyone. (<a href="58e0e7dc70">58e0e7dc</a>)</p> </li> </ul> <h2>What's Changed</h2> <ul> <li>chore(ci): update to actions/checkout@v5 by <a href="https://github.com/tottoto"><code>@tottoto</code></a> in <a href="https://redirect.github.com/hyperium/hyper/pull/3935">hyperium/hyper#3935</a></li> <li>refactor(ffi): specify "C" ABI explicitly in ffi_fn! macro by <a href="https://github.com/1911860538"><code>@1911860538</code></a> in <a href="https://redirect.github.com/hyperium/hyper/pull/3937">hyperium/hyper#3937</a></li> <li>Update documented default values for <code>http1::Builder</code> by <a href="https://github.com/Will-Low"><code>@Will-Low</code></a> in <a href="https://redirect.github.com/hyperium/hyper/pull/3938">hyperium/hyper#3938</a></li> <li>fix(client): port tests to in-memory socket by <a href="https://github.com/cratelyn"><code>@cratelyn</code></a> in <a href="https://redirect.github.com/hyperium/hyper/pull/3947">hyperium/hyper#3947</a></li> <li>feat: allow overriding the instant returned from Timer by <a href="https://github.com/arielb1"><code>@arielb1</code></a> in <a href="https://redirect.github.com/hyperium/hyper/pull/3965">hyperium/hyper#3965</a></li> <li>fix(http1): poll_loop writes when ready by <a href="https://github.com/lthiery"><code>@lthiery</code></a> in <a href="https://redirect.github.com/hyperium/hyper/pull/3952">hyperium/hyper#3952</a></li> <li>test(ready_stream): replace tracing with printlns by <a href="https://github.com/seanmonstar"><code>@seanmonstar</code></a> in <a href="https://redirect.github.com/hyperium/hyper/pull/3973">hyperium/hyper#3973</a></li> <li>fix(http2): fix internals of HTTP/2 CONNECT upgrades by <a href="https://github.com/seanmonstar"><code>@seanmonstar</code></a> in <a href="https://redirect.github.com/hyperium/hyper/pull/3967">hyperium/hyper#3967</a></li> <li>Release v1.8.0 by <a href="https://github.com/seanmonstar"><code>@seanmonstar</code></a> in <a href="https://redirect.github.com/hyperium/hyper/pull/3974">hyperium/hyper#3974</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/Will-Low"><code>@Will-Low</code></a> made their first contribution in <a href="https://redirect.github.com/hyperium/hyper/pull/3938">hyperium/hyper#3938</a></li> <li><a href="https://github.com/arielb1"><code>@arielb1</code></a> made their first contribution in <a href="https://redirect.github.com/hyperium/hyper/pull/3965">hyperium/hyper#3965</a></li> <li><a href="https://github.com/lthiery"><code>@lthiery</code></a> made their first contribution in <a href="https://redirect.github.com/hyperium/hyper/pull/3952">hyperium/hyper#3952</a></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/hyperium/hyper/blob/master/CHANGELOG.md">hyper's changelog</a>.</em></p> <blockquote> <h2>v1.8.0 (2025-11-11)</h2> <h4>Bug Fixes</h4> <ul> <li><strong>http1:</strong> fix rare missed write wakeup on connections (<a href="https://redirect.github.com/hyperium/hyper/issues/3952">#3952</a>) (<a href="2377b893f6">2377b893</a>)</li> <li><strong>http2:</strong> fix internals of HTTP/2 CONNECT upgrades (<a href="https://redirect.github.com/hyperium/hyper/issues/3967">#3967</a>) (<a href="58e0e7dc70">58e0e7dc</a>, closes <a href="https://redirect.github.com/hyperium/hyper/issues/3966">#3966</a>)</li> </ul> <h4>Features</h4> <ul> <li><strong>rt:</strong> add <code>Timer::now()</code> method to allow overriding the instant returned (<a href="https://redirect.github.com/hyperium/hyper/issues/3965">#3965</a>) (<a href="5509ebe615">5509ebe6</a>)</li> </ul> <h4>Breaking Changes</h4> <ul> <li> <p>The HTTP/2 client connection no longer allows an executor that can not spawn itself.</p> <p>This was an oversight originally. The client connection will now include spawning a future that keeps a copy of the executor to spawn other futures. Thus, if it is <code>!Send</code>, it needs to spawn <code>!Send</code> futures. The likelihood of executors that match the previously allowed behavior should be very remote.</p> <p>There is also technically a semver break in here, which is that the <code>Http2ClientConnExec</code> trait no longer dyn-compatible, because it now expects to be <code>Clone</code>. This should not break usage of the <code>conn</code> builder, because it already separately had <code>E: Clone</code> bounds. If someone were using <code>dyn Http2ClientConnExec</code>, that will break. However, there is no purpose for doing so, and it is not usable otherwise, since the trait only exists to propagate bounds into hyper. Thus, the breakage should not affect anyone. (<a href="58e0e7dc70">58e0e7dc</a>)</p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="dbe6f25ba2"><code>dbe6f25</code></a> v1.8.0</li> <li><a href="58e0e7dc70"><code>58e0e7d</code></a> fix(http2): fix internals of HTTP/2 CONNECT upgrades (<a href="https://redirect.github.com/hyperium/hyper/issues/3967">#3967</a>)</li> <li><a href="0a37a8cd9d"><code>0a37a8c</code></a> test(ready_stream): replace tracing with printlns (<a href="https://redirect.github.com/hyperium/hyper/issues/3973">#3973</a>)</li> <li><a href="2377b893f6"><code>2377b89</code></a> fix(http1): fix rare missed write wakeup on connections (<a href="https://redirect.github.com/hyperium/hyper/issues/3952">#3952</a>)</li> <li><a href="5509ebe615"><code>5509ebe</code></a> feat(rt): add <code>Timer::now()</code> method to allow overriding the instant returned ...</li> <li><a href="f9f8f44058"><code>f9f8f44</code></a> tests(client): port tests to in-memory socket (<a href="https://redirect.github.com/hyperium/hyper/issues/3947">#3947</a>)</li> <li><a href="5803a9c059"><code>5803a9c</code></a> docs(server): update default values for <code>http1::Builder</code> (<a href="https://redirect.github.com/hyperium/hyper/issues/3938">#3938</a>)</li> <li><a href="e1e1f2b461"><code>e1e1f2b</code></a> refactor(ffi): specify "C" ABI explicitly in ffi_fn! macro (<a href="https://redirect.github.com/hyperium/hyper/issues/3937">#3937</a>)</li> <li><a href="64ab7ae339"><code>64ab7ae</code></a> chore(ci): update to actions/checkout@v5 (<a href="https://redirect.github.com/hyperium/hyper/issues/3935">#3935</a>)</li> <li>See full diff in <a href="https://github.com/hyperium/hyper/compare/v1.7.0...v1.8.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
288 lines
9.7 KiB
TOML
288 lines
9.7 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"components/xpath",
|
|
"ports/servoshell",
|
|
"tests/unit/*",
|
|
]
|
|
default-members = ["ports/servoshell"]
|
|
exclude = [".cargo", "support/crown"]
|
|
|
|
[workspace.package]
|
|
version = "0.0.1"
|
|
authors = ["The Servo Project Developers"]
|
|
license = "MPL-2.0"
|
|
edition = "2024"
|
|
publish = false
|
|
# We have yet to decide on a policy for updating the minimum supported Rust version.
|
|
# Before increasing this, please open a discussion on Zulip explaining the reason
|
|
# why we should consider increasing our minimum supported Rust version.
|
|
# Please also note, that the **default** Rust version in rust-toolchain.toml may be
|
|
# bumped freely.
|
|
# Skip 1.90 which causes mis-compilation: https://github.com/rust-lang/rust/issues/147265
|
|
rust-version = "1.86.0"
|
|
|
|
[workspace.dependencies]
|
|
accountable-refcell = "0.2.2"
|
|
aes = "0.8.4"
|
|
aes-gcm = "0.10.3"
|
|
aes-kw = { version = "0.2.1", features = ["alloc"] }
|
|
app_units = "0.7"
|
|
arboard = "3"
|
|
arrayvec = "0.7"
|
|
async-tungstenite = { version = "0.32", features = ["tokio-rustls-webpki-roots"] }
|
|
atomic_refcell = "0.1.13"
|
|
aws-lc-rs = { version = "1.14", default-features = false, features = ["aws-lc-sys"] }
|
|
background_hang_monitor_api = { path = "components/shared/background_hang_monitor" }
|
|
backtrace = "0.3"
|
|
base = { path = "components/shared/base" }
|
|
base64 = "0.22.1"
|
|
base64ct = { version = "1.8", features = ["alloc"] }
|
|
bincode = "1"
|
|
bitflags = "2.10"
|
|
bluetooth_traits = { path = "components/shared/bluetooth" }
|
|
bytemuck = "1"
|
|
byteorder = "1.5"
|
|
canvas_traits = { path = "components/shared/canvas" }
|
|
cbc = "0.1.2"
|
|
cfg-if = "1.0.4"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
cipher = { version = "0.4.4", features = ["alloc"] }
|
|
compositing_traits = { path = "components/shared/compositing" }
|
|
constellation_traits = { path = "components/shared/constellation" }
|
|
content-security-policy = { git = "https://github.com/servo/rust-content-security-policy", branch = "servo-csp", features = ["serde"] }
|
|
cookie = { package = "cookie", version = "0.18" }
|
|
crossbeam-channel = "0.5"
|
|
cssparser = { version = "0.36", features = ["serde"] }
|
|
ctr = "0.9.2"
|
|
data-url = "0.3"
|
|
devtools_traits = { path = "components/shared/devtools" }
|
|
digest = "0.10"
|
|
dpi = "0.1"
|
|
dwrote = "0.11.5"
|
|
ecdsa = "0.16"
|
|
elliptic-curve = "0.13"
|
|
embedder_traits = { path = "components/shared/embedder" }
|
|
encoding_rs = "0.8"
|
|
env_logger = "0.11"
|
|
euclid = "0.22"
|
|
flate2 = "1.1"
|
|
fonts_traits = { path = "components/shared/fonts" }
|
|
freetype-sys = "0.20"
|
|
gleam = "0.15"
|
|
glow = "0.16.0"
|
|
gstreamer = { version = "0.24", features = ["v1_18"] }
|
|
gstreamer-base = "0.24"
|
|
gstreamer-gl = "0.24"
|
|
gstreamer-gl-sys = "0.24"
|
|
gstreamer-sys = "0.24"
|
|
gstreamer-video = "0.24"
|
|
harfbuzz-sys = "0.6.1"
|
|
headers = "0.4"
|
|
hitrace = "0.1.5"
|
|
html5ever = "0.36"
|
|
http = "1.3"
|
|
http-body-util = "0.1"
|
|
hyper = "1.8"
|
|
hyper-rustls = { version = "0.27", default-features = false, features = ["http1", "http2", "logging", "tls12", "webpki-tokio"] }
|
|
hyper-util = { version = "0.1", features = ["client-legacy", "http2", "tokio"] }
|
|
hyper_serde = { path = "components/hyper_serde" }
|
|
icu_locid = "1.5.0"
|
|
icu_segmenter = "1.5.0"
|
|
image = { version = "0.25", default-features = false, features = ["avif", "rayon", "bmp", "gif", "ico", "jpeg", "png", "webp"] }
|
|
imsz = "0.4"
|
|
indexmap = { version = "2.11.4", features = ["std"] }
|
|
ipc-channel = "0.20.2"
|
|
itertools = "0.14"
|
|
js = { package = "mozjs", git = "https://github.com/servo/mozjs" }
|
|
keyboard-types = { version = "0.8.3", features = ["serde", "webdriver"] }
|
|
kurbo = { version = "0.12", features = ["euclid"] }
|
|
layout_api = { path = "components/shared/layout" }
|
|
libc = "0.2"
|
|
log = "0.4.27"
|
|
mach2 = "0.4"
|
|
malloc_size_of = { package = "servo_malloc_size_of", path = "components/malloc_size_of" }
|
|
malloc_size_of_derive = "0.1"
|
|
markup5ever = "0.36"
|
|
memmap2 = "0.9.9"
|
|
mime = "0.3.13"
|
|
mime_guess = "2.0.5"
|
|
mozangle = "0.5.3"
|
|
net_traits = { path = "components/shared/net" }
|
|
nix = "0.30"
|
|
nom = "8.0.0"
|
|
nom-rfc8288 = "0.4.0"
|
|
num-traits = "0.2"
|
|
num_cpus = "1.17.0"
|
|
openxr = "0.19"
|
|
p256 = { version = "0.13", features = ["ecdh"] }
|
|
p384 = { version = "0.13", features = ["ecdh"] }
|
|
p521 = { version = "0.13", features = ["ecdh"] }
|
|
parking_lot = "0.12"
|
|
peniko = "0.5"
|
|
percent-encoding = "2.3"
|
|
pkcs8 = { version = "0.10", features = ["rand_core"] }
|
|
proc-macro2 = "1"
|
|
profile_traits = { path = "components/shared/profile" }
|
|
quote = "1"
|
|
rand = "0.9"
|
|
raw-window-handle = "0.6"
|
|
rayon = "1"
|
|
read-fonts = "0.35.0"
|
|
regex = "1.12"
|
|
resvg = "0.45.0"
|
|
rustc-hash = "2.1.1"
|
|
rustls = { version = "0.23", default-features = false, features = ["logging", "std", "tls12"] }
|
|
rustls-pemfile = "2.0"
|
|
rustls-pki-types = "1.13"
|
|
script_traits = { path = "components/shared/script" }
|
|
sec1 = "0.7"
|
|
selectors = { git = "https://github.com/servo/stylo", branch = "2025-11-01" }
|
|
serde = "1.0.228"
|
|
serde_bytes = "0.11"
|
|
serde_core = "1.0.226"
|
|
serde_json = "1.0"
|
|
servo-media = { git = "https://github.com/servo/media" }
|
|
servo-media-dummy = { git = "https://github.com/servo/media" }
|
|
servo-media-gstreamer = { git = "https://github.com/servo/media" }
|
|
servo-tracing = { path = "components/servo_tracing" }
|
|
servo_arc = { git = "https://github.com/servo/stylo", branch = "2025-11-01" }
|
|
sha1 = "0.10"
|
|
sha2 = "0.10"
|
|
skrifa = "0.37.0"
|
|
smallvec = { version = "1.15", features = ["serde", "union"] }
|
|
storage_traits = { path = "components/shared/storage" }
|
|
string_cache = "0.9"
|
|
strum = "0.27"
|
|
strum_macros = "0.27"
|
|
stylo = { git = "https://github.com/servo/stylo", branch = "2025-11-01" }
|
|
stylo_atoms = { git = "https://github.com/servo/stylo", branch = "2025-11-01" }
|
|
stylo_config = { git = "https://github.com/servo/stylo", branch = "2025-11-01" }
|
|
stylo_dom = { git = "https://github.com/servo/stylo", branch = "2025-11-01" }
|
|
stylo_malloc_size_of = { git = "https://github.com/servo/stylo", branch = "2025-11-01" }
|
|
stylo_traits = { git = "https://github.com/servo/stylo", branch = "2025-11-01" }
|
|
surfman = { version = "0.10.0", features = ["chains"] }
|
|
syn = { version = "2", default-features = false, features = ["clone-impls", "derive", "parsing"] }
|
|
synstructure = "0.13"
|
|
taffy = { version = "0.9", default-features = false, features = ["calc", "detailed_layout_info", "grid", "std"] }
|
|
tikv-jemalloc-sys = "0.6.1"
|
|
tikv-jemallocator = "0.6.1"
|
|
time = { package = "time", version = "0.3", features = ["large-dates", "local-offset", "serde"] }
|
|
tokio = "1"
|
|
tokio-rustls = { version = "0.26", default-features = false, features = ["logging"] }
|
|
tower-service = "0.3"
|
|
tracing = "0.1.41"
|
|
tracing-perfetto = "0.1.5"
|
|
tracing-subscriber = "0.3.20"
|
|
tungstenite = "0.28"
|
|
unicode-bidi = "0.3.18"
|
|
unicode-properties = { version = "0.1.4", features = ["emoji"] }
|
|
unicode-script = "0.5"
|
|
unicode-segmentation = "1.12.0"
|
|
url = "2.5"
|
|
urlpattern = "0.3"
|
|
utf-8 = "0.7"
|
|
uuid = { version = "1.18.1", features = ["v4", "v5"] }
|
|
vello = "0.6"
|
|
vello_cpu = "0.0.4"
|
|
webdriver = "0.53.0"
|
|
webgpu_traits = { path = "components/shared/webgpu" }
|
|
webpki-roots = "1.0"
|
|
webrender = { git = "https://github.com/servo/webrender", branch = "0.68", features = ["capture"] }
|
|
webrender_api = { git = "https://github.com/servo/webrender", branch = "0.68" }
|
|
webxr-api = { path = "components/shared/webxr" }
|
|
wgpu-core = "26"
|
|
wgpu-types = "26"
|
|
winapi = "0.3"
|
|
windows-sys = "0.61"
|
|
winit = "0.30.12"
|
|
wio = "0.2"
|
|
wr_malloc_size_of = { git = "https://github.com/servo/webrender", branch = "0.68" }
|
|
x25519-dalek = { version = "2.0.1", features = ["static_secrets"] }
|
|
xi-unicode = "0.3.0"
|
|
xml5ever = "0.36"
|
|
xpath = { path = "components/xpath" }
|
|
|
|
# Force tikv-jemalloc-sys to build with at least -O1.
|
|
# This can help with build environments that force _FORTIFY_SOURCE, such as Nix.
|
|
# More details: <https://github.com/tikv/jemallocator/issues/108>
|
|
[profile.dev.package.tikv-jemalloc-sys]
|
|
opt-level = 1
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
debug-assertions = true
|
|
|
|
# Disk-space is limited in CI, so we disabled features that are not needed for code coverage.
|
|
# Locally using the default `dev` profile is perfectly fine.
|
|
[profile.coverage]
|
|
inherits = "dev"
|
|
incremental = false
|
|
debug = false
|
|
|
|
# A profile between `dev` and `release` which aims to offer a compromise between
|
|
# fast incremental rebuilds and runtime speed.
|
|
[profile.medium]
|
|
inherits = "release"
|
|
opt-level = 2
|
|
incremental = true
|
|
debug = "line-tables-only"
|
|
|
|
[profile.production]
|
|
inherits = "release"
|
|
debug-assertions = false
|
|
lto = true
|
|
codegen-units = 1
|
|
opt-level = "s"
|
|
|
|
[profile.production-stripped]
|
|
inherits = "production"
|
|
strip = true
|
|
|
|
[profile.profiling]
|
|
inherits = "release"
|
|
debug-assertions = false
|
|
debug = true
|
|
lto = "thin"
|
|
codegen-units = 1
|
|
|
|
[patch.crates-io]
|
|
# If you need to temporarily test Servo with a local fork of some upstream
|
|
# crate, add that here. Use the form:
|
|
#
|
|
# <crate> = { path = "/path/to/local/checkout" }
|
|
#
|
|
# For html5ever:
|
|
#
|
|
# html5ever = { path = "../html5ever/html5ever" }
|
|
# markup5ever = { path = "../html5ever/markup5ever" }
|
|
# web_atoms = { path = "../html5ever/web_atoms" }
|
|
# xml5ever = { path = "../html5ever/xml5ever" }
|
|
#
|
|
# Or for Stylo:
|
|
#
|
|
# [patch."https://github.com/servo/stylo"]
|
|
# selectors = { path = "../stylo/selectors" }
|
|
# servo_arc = { path = "../stylo/servo_arc" }
|
|
# stylo = { path = "../stylo/style" }
|
|
# stylo_atoms = { path = "../stylo/stylo_atoms" }
|
|
# stylo_config = { path = "../stylo/stylo_config" }
|
|
# stylo_dom = { path = "../stylo/stylo_dom" }
|
|
# stylo_malloc_size_of = { path = "../stylo/malloc_size_of" }
|
|
# stylo_traits = { path = "../stylo/style_traits" }
|
|
#
|
|
# Or for WebRender:
|
|
#
|
|
# [patch."https://github.com/servo/webrender"]
|
|
# webrender = { path = "../webrender/webrender" }
|
|
# webrender_api = { path = "../webrender/webrender_api" }
|
|
# wr_malloc_size_of = { path = "../webrender/wr_malloc_size_of" }
|
|
#
|
|
# Or for another Git dependency:
|
|
#
|
|
# [patch."https://github.com/servo/<repository>"]
|
|
# <crate> = { path = "/path/to/local/checkout" }
|
|
#
|
|
# [patch."https://github.com/servo/rust-content-security-policy"]
|
|
# content-security-policy = { path = "../rust-content-security-policy" }
|