Compose disposal handles into one. dispose() disposes every handle in
reverse bind order (last bound, first disposed — mirrors typical
teardown ordering), is idempotent after success, and never touches a
borrowed host beyond what each handle's own dispose() already does.
If one or more handles fail to dispose, the rest still run; the combined
handle reports disposed: false and the failures are re-thrown together
so the caller can retry (retrying re-invokes every handle's dispose(),
which is safe because each is independently idempotent on success).
Compose disposal handles into one.
dispose()disposes every handle in reverse bind order (last bound, first disposed — mirrors typical teardown ordering), is idempotent after success, and never touches a borrowed host beyond what each handle's owndispose()already does.If one or more handles fail to dispose, the rest still run; the combined handle reports
disposed: falseand the failures are re-thrown together so the caller can retry (retrying re-invokes every handle'sdispose(), which is safe because each is independently idempotent on success).