Files
Anders Eknert e43ef0a979 Use any in place of interface{} (#7566)
Earlier this evening I tried to run the Go
[modernize](https://pkg.go.dev/golang.org/x/tools/gopls/internal/analysis/modernize)
analyzer on OPA. That didn't go as planned:

- https://github.com/golang/go/issues/73661
- https://github.com/golang/go/issues/73663

While we wait for that to be fixed, I figured an old-fashioned
search-and-replace across the repo may work for at least the
`interface{}` to `any` conversion. That should help make it easier
to see the other fixes as applied by the modernize tool once it has
had those issues resolved.

Signed-off-by: Anders Eknert <anders@styra.com>
2025-05-12 13:57:48 +02:00

36 lines
1008 B
Go

package debug
import (
"io"
"log"
)
// Debug allows printing debug messages.
type Debug interface {
// Printf prints, with a short file:line-number prefix
Printf(format string, args ...any)
// Writer returns the writer being written to, which may be
// `io.Discard` if no debug output is requested.
Writer() io.Writer
// Output allows tweaking the calldepth used for figuring
// out which Go source file location is the interesting one,
// i.e., which is included in the debug message. Useful for
// setting up local helper methods.
Output(calldepth int, s string) error
}
// New returns a new `Debug` outputting to the passed `sink`.
func New(sink io.Writer) Debug {
flags := log.Lshortfile
return log.New(sink, "", flags)
}
// Discard returns a new `Debug` that doesn't output anything.
// Note: We're not implementing the methods here with noop stubs
// since doing this way, we can propagate the "discarding" via
// `(Debug).Writer()`.
func Discard() Debug {
return New(io.Discard)
}