> This page is for NeMo Relay, version dev.
> For other versions, use one of these documentation indexes:
> - Latest (v0.10.4) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.10.4: https://docs.nvidia.com/nemo/relay/v0.10.4/llms.txt
> - v0.9.4: https://docs.nvidia.com/nemo/relay/v0.9.4/llms.txt
> - v0.8.4: https://docs.nvidia.com/nemo/relay/v0.8.4/llms.txt
> - v0.7.3: https://docs.nvidia.com/nemo/relay/v0.7.3/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Struct Projection Guard

> Bounded projection subscription, or inert disabled-mode handle.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`.

```rust
pub struct ProjectionGuard { /* private fields */ }
```

Bounded projection subscription, or inert disabled-mode handle.

Dropping unsubscribes future publication. A callback copied before removal may still finish; adapters can add stronger shutdown ordering when needed.

Retain the guard for the subscription's intended lifetime:

```rust
#![deny(unused_must_use)]
use nemo_relay::diagnostics::{DiagnosticError, Diagnostics};
fn subscribe(diagnostics: &Diagnostics) -> Result<(), DiagnosticError> {
    diagnostics.subscribe_projection(|_| {})?; // Immediately unsubscribes.
    Ok(())
}
```

## Trait Implementations

### `impl Debug for ProjectionGuard`

<pre />

#### `fmt`

<pre />

### `impl Drop for ProjectionGuard`

<pre />

#### `drop`

<pre />