This checks that source and destination values are assignable before trying to set the destination via reflection, avoiding panics when source and destination are different structs.
It also adds some special cases, snarfed from database/sql, to allow scanning into a destination that's not identical to the source so, e.g., a literal int used in AddRow() can be scanned into an int32. That makes the mocks less annoying to write.
This checks that source and destination values are assignable before trying to set the destination via reflection, avoiding panics when source and destination are different structs.
It also adds some special cases, snarfed from database/sql, to allow scanning into a destination that's not identical to the source so, e.g., a literal int used in AddRow() can be scanned into an int32. That makes the mocks less annoying to write.
Fixes bug #102.