Closed
Description
I was reading the safe migration guide which states that in 3.2.0 the default modules/packages will pull in the unsafe versions of the API to maintain backwards compatibility.
On updating and doing a build though I got errors:
./../../.dub/packages/mysql-native-3.2.0/mysql-native/source/mysql/impl/prepared.d(156,20): Error: none of the overloads of `opAssign` are callable using argument types `(byte[])`, candidates are:
../../../.dub/packages/taggedalgebraic-0.11.22/taggedalgebraic/source/taggedalgebraic/taggedalgebraic.d(147,7): `taggedalgebraic.taggedalgebraic.TaggedAlgebraic!(_MYTYPE).TaggedAlgebraic.opAssign(TaggedAlgebraic!(_MYTYPE) other)`
../../../.dub/packages/taggedalgebraic-0.11.22/taggedalgebraic/source/taggedalgebraic/taggedalgebraic.d-mixin-140(149,9): `taggedalgebraic.taggedalgebraic.TaggedAlgebraic!(_MYTYPE).TaggedAlgebraic.opAssign(ubyte[] value)`
../../../.dub/packages/taggedalgebraic-0.11.22/taggedalgebraic/source/taggedalgebraic/taggedalgebraic.d-mixin-140(165,9): `taggedalgebraic.taggedalgebraic.TaggedAlgebraic!(_MYTYPE).TaggedAlgebraic.opAssign(const(ubyte)[] value)`
../../../.dub/packages/taggedalgebraic-0.11.22/taggedalgebraic/source/taggedalgebraic/taggedalgebraic.d-mixin-140(181,9): `taggedalgebraic.taggedalgebraic.TaggedAlgebraic!(_MYTYPE).TaggedAlgebraic.opAssign(typeof(null) value)`
../../../.dub/packages/taggedalgebraic-0.11.22/taggedalgebraic/source/taggedalgebraic/taggedalgebraic.d-mixin-140(197,9): `taggedalgebraic.taggedalgebraic.TaggedAlgebraic!(_MYTYPE).TaggedAlgebraic.opAssign(bool value)`
../../../.dub/packages/mysql-native-3.2.0/mysql-native/source/mysql/impl/prepared.d(156,20): ... (34 more, -v to show) ...
../../../.dub/packages/mysql-native-3.2.0/mysql-native/source/mysql/impl/prepared.d(327,15): Error: template instance `mysql.impl.prepared.SafePrepared.setArg!(byte[])` error instantiating
source/ddbc/drivers/mysqlddbc.d(705,38): instantiated from here: `setArg!(byte[])`
I tried changing all my imports to be the explicit mysql.unsafe.*
versions but the error remained the same. For now it seems ddbc will need to stay on 3.1.0
ddbc also uses std.variant
everywhere and potentially could do with some work to use @safe
code. Not expecting to get time to do that any time soon though