internal/source: avoid a NopCloser if src is already a Closer
This case is hit over 400 times in `go test ./...`. For example,
./cue/interpreter/embed sets cue/build.File.Source to an *os.File,
so wrapping that in an io.NopCloser is unnecessary.
Note that there's no correctness issue here; such packages
also defer closing the source file, and repeated calls to os.File.Close
are harmless.
Signed-off-by: Daniel Martí <mvdan@mvdan.cc>
Change-Id: I4d3c057b69cf9d4a9e02abba2f9c03e1e3759e31
Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1225200
TryBot-Result: CUEcueckoo <cueckoo@cuelang.org>
Unity-Result: CUE porcuepine <cue.porcuepine@gmail.com>
Reviewed-by: Roger Peppe <rogpeppe@gmail.com>