Am 19.04.2013 19:39, schrieb Sönke Ludwig:
Am 19.04.2013 18:44, schrieb Matej Nanut:
Can it be because the parameter passed into renderCompat is actually an "in javaRunVM" instead of a plain "javaRunVM"?
Yes, that sounds very likely. The reason is that
const(T)
andT
have
a differentTypeInfo
and this is used in the assertion to check the
type. Maybe the assertion should rather useVariant.convertTo
and be
less strict about the actual type...BTW the reason for release builds working is simply because assertions
are disabled in release mode andVariant.get
presumably is able to
implicitly convert the value to non-cost.I'll go ahead and change the assertion to use
convertsTo
.
Okay looking closer, this happens in the code path where no Variant
is
involved at all, so using convertsTo
is not an option. I've opened a
ticket with a possible alternative approach instead:
https://github.com/rejectedsoftware/vibe.d/issues/219