Incomprehensible error message
Russel Winder
russel at winder.org.uk
Mon Mar 19 18:48:04 UTC 2018
On Mon, 2018-03-19 at 10:54 -0700, H. S. Teoh via Digitalmars-d-learn
wrote:
> […]
>
> One wild guess is if some of the symbols come from different modules,
> such that you might have modA.dvb_entry vs. modB.dvb_entry, for
> example,
> which would be a type mismatch. Or if one symbol was declared in D
> linkage but the other in C linkage, which is perhaps a more likely
> cause. But since the compiler doesn't tell us the FQN of the
> identifiers, it's anybody's guess whether this is actually the
> problem,
> or which are the offending identifiers.
>
Prompted by this and Adam's emails, which gave me the moral support to
getting stuck in to doing something rather than just moaning :-)
I think the problem is with the instance of dvb_entry *.
The call is actually in a loop:
for (auto entry = ptr.c_ptr().first_entry; entry != null; entry = entry.next) {
if (entry.channel is null) { continue; } // TODO Shouldn't need this, but it seems needed, why?
frontendParameters.logfunc(LOG_INFO, "\nChannel: %s", entry.channel);
try {
auto scanHandler = ScanHandler_Ptr(frontendParameters.c_ptr(), entry, dmx_fd.value(), &checkFrontend, other_nit, timeout_multiplier);
I tried replacing the auto with dvb_entry* and we have the answer:
../../Repositories/Git/Masters/DVBTune/source/channels.d(157): Error: cannot implicitly convert expression `(*this.ptr.c_ptr()).first_entry` of type `libdvbv5_d.dvb_file.dvb_entry*` to `libdvbv5_d.dvb_scan.dvb_entry*`
This is most likely an unintended consequence of using DStep: the
dvb_entry type is being defined in two distinct modules. Now everything
is clear and I just need to find a solution to why two definitions.
The error message is still incomprehensible as is though.
--
Russel.
===========================================
Dr Russel Winder t: +44 20 7585 2200
41 Buckmaster Road m: +44 7770 465 077
London SW11 1EN, UK w: www.russel.org.uk
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-learn/attachments/20180319/b57a89b2/attachment-0001.sig>
More information about the Digitalmars-d-learn
mailing list