1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Copyright (c) 2026 Mike Grier
[]
= "windows-threadpool-sys"
= "0.4.0" # x-release-please-version
= true
= true
= true
= true
= true
= true
= "https://docs.rs/windows-threadpool-sys"
= "README.md"
= "Memory-safe access to the Windows thread pool APIs."
= ["windows", "threadpool", "asynchronous", "ffi"]
= ["api-bindings", "os::windows-apis"]
[]
= "src/lib.rs"
# The crate is Windows-only, so docs.rs must build it on a Windows target or it
# would fail to compile the thread-pool bindings entirely.
[]
= "x86_64-pc-windows-msvc"
= ["x86_64-pc-windows-msvc"]
[]
# The shared overlapped-I/O foundation: owned endpoints, pinned operations, and the
# submission seam (`into_overlapped` / `from_overlapped` / `reclaim_overlapped`) that
# the `TP_IO` backend builds on. Published independently, so both a path (for the
# workspace) and a version (for consumers building from crates.io) are required. No
# features are enabled (`default-features = false`): the `TP_IO` backend needs only
# the core completion machinery, not any operation-family adapter (fs, socket, device).
= { = "0.3.1", = "../windows-overlapped-io-sys", = false }
# Events: `WaitableHandle::event` creates through it, and `From<Event>` converts one into a
# wait target. The crate makes no event of its own (WS-D-5 in win-sync-sys' DESIGN-NOTES.md).
# Published independently, so both a path and a version.
= { = "0.1.0", = "../win-sync-sys" }
# A wait target may be shared: the wait holds one clone and the caller keeps others (the workspace
# DESIGN-NOTES.md, "A wait may hold its handle shared"). Published independently, so both a path and
# a version.
= { = "0.1.0", = "../win-shared-os-owned-handle" }
# Interrupt time, which the self-heal stamps a cancellation and its repair with: the workspace reads
# its one time base through this crate rather than each crate calling `QueryInterruptTime` itself
# (WT-D-1 in win-time-sys' DESIGN-NOTES.md). Optional, pulled in by `self-heal` alone. Published
# independently, so both a path and a version.
= { = "0.1.0", = "../win-time-sys", = true }
[]
= ["self-heal"]
# Turns the undischarged-obligation report at `Drop` into a panic, making these
# types linear rather than affine: a caller who leaves the blocking drain to
# `Drop` fails instead of being told about it.
#
# OFF by default, and enabling it arms the fail-fast directly. Cargo features
# are additive and unified, so any crate in a build that enables this changes
# teardown behaviour for EVERY crate in that build -- including code that never
# called this API, and whose author cannot see the manifest that enabled it. A
# consumer cannot decline it either: `default-features = false` governs one
# dependency edge, not the union. Enabling it is therefore a decision for a
# top-level binary configuring its own test or CI build; a library enabling it
# is the misuse. See DESIGN-NOTES.md.
= []
# Repairs a pool that a cancellation may have left unable to make its first
# worker, by submitting a work item to it -- the one action measured to release
# that stall every time. On by default, and the reason `try_cancel_pending` can
# be a safe method at all: see README-FEATURE-self-heal.md for what it costs and
# what to watch for if you turn it off.
#
# Turning it off removes `try_cancel_pending` rather than changing what it
# means, so a consumer who relied on it gets a compile error naming the
# `unsafe` sibling to reach for instead.
# `win-time-sys` is for interrupt time, which stamps a cancellation and the
# repair lifecycle so the self-heal can tell a pool whose repair has dispatched
# from one whose has not. Ordinary callbacks do not touch it: see the cost table
# in README-FEATURE-self-heal.md. Pulled in only with this feature, so a
# consumer who turns self-heal off never compiles it.
= ["dep:win-time-sys"]
# A trace for defects that only appear under concurrency. Off by default and
# absent from the compiled output when off, because the instrument for that
# class of problem must not change the schedule it is measuring.
#
# It pulls two extra `windows-sys` features in with it, for the vectored
# exception handler the trace installs when it is switched on at run time.
# `AddVectoredExceptionHandler` and `EXCEPTION_POINTERS` are both gated on
# `Win32_System_Kernel` as well as on the `Debug` module they live in. Both are
# enabled only with this feature, so a consumer who never traces never
# compiles them.
= [
"windows-sys/Win32_System_Diagnostics_Debug",
"windows-sys/Win32_System_Kernel",
]
[]
= "0.61.2"
= false
= [
"Win32_Foundation",
"Win32_System_IO",
"Win32_System_Threading",
]
# The TP_IO tests make their overlapped named pipes with `win-pipes-sys`, in place of an `unsafe`
# `CreateNamedPipeW` call each. Path-only, with no `version`: Cargo checks a pinned version against the
# path at every build, so a release of that crate would break this one, and a versionless
# dev-dependency is left out of the published manifest (see `windows-ioring-sys`'s manifest).
[]
= { = "../win-pipes-sys" }
# The TP_IO tests issue real overlapped I/O against a named pipe, which needs
# binding surface the published crate itself does not use.
[]
= "0.3.1"
= "../windows-overlapped-io-sys"
# For the observer's queries, which the TP_IO tests issue through an observer:
# `fs` holds them, and `test-util` lists every one (M17.10).
= ["fs", "test-util"]
[]
= "0.61.2"
= false
= [
"Win32_Foundation",
"Win32_System_IO",
"Win32_System_Threading",
"Win32_Security",
"Win32_Storage_FileSystem",
]