draw: alias the standard library's image/draw's exported types.
This relies on type aliases, a language feature new in Go 1.9.
The package documentation, in draw.go, explicitly gives the intent of
This package is a superset of and a drop-in replacement for the
image/draw package in the standard library.
Drop-in replacement means that I can replace all of my "image/draw"
imports with "golang.org/x/image/draw", to access additional features in
this package, and no further changes are required. That's mostly true,
but not completely true unless we use type aliases.
Without type aliases, users might need to import both "image/draw" and
"golang.org/x/image/draw" in order to convert from two conceptually
equivalent but different (from the compiler's point of view) types, such
as from one draw.Op type to another draw.Op type, to satisfy some other
interface or function signature.
Run-TryBot: Nigel Tao <firstname.lastname@example.org>
TryBot-Result: Gobot Gobot <email@example.com>
Reviewed-by: Rob Pike <firstname.lastname@example.org>
Reviewed-by: Russ Cox <email@example.com>
3 files changed