type key … const warningRecorderKey … type Recorder … // WithWarningRecorder returns a new context that wraps the provided context and contains the provided Recorder implementation. // The returned context can be passed to AddWarning(). func WithWarningRecorder(ctx context.Context, recorder Recorder) context.Context { … } func warningRecorderFrom(ctx context.Context) (Recorder, bool) { … } // AddWarning records a warning for the specified agent and text to the Recorder added to the provided context using WithWarningRecorder(). // If no Recorder exists in the provided context, this is a no-op. // agent must be valid UTF-8, and must not contain spaces, quotes, backslashes, or control characters. // text must be valid UTF-8, and must not contain control characters. func AddWarning(ctx context.Context, agent string, text string) { … }