March 19, 2018
Hi,

I have been staring at this message so long, I have clearly stopped actually reading it, hence outside assistance needed.

Can someone please explain to me (probably in words of one syllable since I am clearly being very unintelligent) how any code can deliver an error message such as:


ldc2 -I=. -g -gc -d-debug -I/home/users/russel/Built/include/d -of=Build/Release/dvb-tune source/main.d source/libdvbv5.d source/channels.d -L-ldvbv5
source/channels.d(161): Error: constructor libdvbv5.ScanHandler_Ptr.this (dvb_v5_fe_parms* frontendParameters, dvb_entry* entry, const(int) dmx_fd, extern (C) int function(void* args, dvb_v5_fe_parms* parms) check_frontend, const(uint) other_nit, const(uint) timeout_multiplier) is not callable using argument types (dvb_v5_fe_parms*, dvb_entry*, const(int), extern (C) int function(void* _arguments, dvb_v5_fe_parms* frontendParameters), const(uint), const(uint))

-- 
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


March 19, 2018
On Monday, 19 March 2018 at 16:33:28 UTC, Russel Winder wrote:
> I have been staring at this message so long, I have clearly stopped actually reading it, hence outside assistance needed.

So I would guess either there's two definitions of one of the types like maybe `dvb_v5_fe_parms` and the constructor uses one and your code uses another (may be the same struct defined in two different modules, where the definition imported one and you imported another - stupid compiler was (is?) liable to say "type A is not type A" when it should say "type foo.A is not bar.A"), or something like a stray const on the `this` pointer.


I almost remember that A != A bug was fixed but maybe not in function call things, or maybe not pushed to your ldc version yet.