Thread overview | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
November 02, 2017 a linking error very hard to understand and solve... | ||||
---|---|---|---|---|
| ||||
Dear colleagues, I cannot solve this compilation issue; the message is ambiguous, in this sense that one of the proposed sulution (line 81) is apparently the one exposed as problematic... Any help much appreciated... best, Jean-Yves (and thanks to all contributors) src\stores.d(178): Error: none of the overloads of 'spawnFiber' are callable using argument types (void delegate(LRMSFiber f), string, uint, string), candidates are: src\fiberManager.d(77): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op) src\fiberManager.d(81): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op, string name) src\fiberManager.d(85): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op, string name, uint maxMsg) src\fiberManager.d(89): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op, string name, uint maxMsg, string ioch) --- errorlevel 1 |
November 02, 2017 Re: a linking error very hard to understand and solve... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jean-Yves Vion-Dury | On Thursday, 2 November 2017 at 11:13:34 UTC, Jean-Yves Vion-Dury wrote: > > Dear colleagues, > I cannot solve this compilation issue; the message is ambiguous, in this sense that one of the proposed sulution (line 81) is apparently the one exposed as problematic... I suppose you meant 89 ? > > Any help much appreciated... > best, > Jean-Yves (and thanks to all contributors) > > src\stores.d(178): Error: none of the overloads of 'spawnFiber' are callable using argument types (void delegate(LRMSFiber f), string, uint, string), candidates are: > [...] > src\fiberManager.d(89): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op, string name, uint maxMsg, string ioch) > > --- errorlevel 1 |
November 02, 2017 Re: a linking error very hard to understand and solve... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jean-Yves Vion-Dury | On Thursday, 2 November 2017 at 11:13:34 UTC, Jean-Yves Vion-Dury wrote:
> src\stores.d(178): Error: none of the overloads of 'spawnFiber' are callable using argument types (void delegate(LRMSFiber f), string, uint, string), candidates are:
> src\fiberManager.d(77): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op)
> src\fiberManager.d(81): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op, string name)
> src\fiberManager.d(85): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op, string name, uint maxMsg)
> src\fiberManager.d(89): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op, string name, uint maxMsg, string ioch)
Is LRMSFiber the same type in all these cases? That is, do you have a type called LRMSFiber in more than one file?
--
Biotronic
|
November 02, 2017 Re: a linking error very hard to understand and solve... | ||||
---|---|---|---|---|
| ||||
Posted in reply to user1234 | On Thursday, 2 November 2017 at 11:50:58 UTC, user1234 wrote: > On Thursday, 2 November 2017 at 11:13:34 UTC, Jean-Yves Vion-Dury wrote: >> >> Dear colleagues, >> I cannot solve this compilation issue; the message is ambiguous, in this sense that one of the proposed sulution (line 81) is apparently the one exposed as problematic... > > I suppose you meant 89 ? > yes, indeed sorry >> >> Any help much appreciated... >> best, >> Jean-Yves (and thanks to all contributors) >> >> src\stores.d(178): Error: none of the overloads of 'spawnFiber' are callable using argument types (void delegate(LRMSFiber f), string, uint, string), candidates are: >> [...] >> src\fiberManager.d(89): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op, string name, uint maxMsg, string ioch) >> >> --- errorlevel 1 |
November 02, 2017 Re: a linking error very hard to understand and solve... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Biotronic | On Thursday, 2 November 2017 at 11:54:51 UTC, Biotronic wrote: > > Is LRMSFiber the same type in all these cases? That is, do you have a type called LRMSFiber in more than one file? > Yes, it appears first in an interface (inside a module/file) definition and second in a class definition (inside another module/file)... does it matter ? > -- > Biotronic |
November 02, 2017 Re: a linking error very hard to understand and solve... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jean-Yves Vion-Dury | On Thursday, 2 November 2017 at 11:13:34 UTC, Jean-Yves Vion-Dury wrote:
>
> Dear colleagues,
> I cannot solve this compilation issue; the message is ambiguous, in this sense that one of the proposed sulution (line 81) is apparently the one exposed as problematic...
>
> Any help much appreciated...
> best,
> Jean-Yves (and thanks to all contributors)
>
> src\stores.d(178): Error: none of the overloads of 'spawnFiber' are callable using argument types (void delegate(LRMSFiber f), string, uint, string), candidates are:
> src\fiberManager.d(77): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op)
> src\fiberManager.d(81): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op, string name)
> src\fiberManager.d(85): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op, string name, uint maxMsg)
> src\fiberManager.d(89): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op, string name, uint maxMsg, string ioch)
>
> --- errorlevel 1
This is not a linking error, it is a D compiler error message.
Is it possible you have a template constraint on the function at line 89 that's causing it not to match? I've seen a similar problem lately with std.conv.to on AArch64 that I need to dig into.
|
November 02, 2017 Re: a linking error very hard to understand and solve... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jean-Yves Vion-Dury | On Thursday, 2 November 2017 at 11:13:34 UTC, Jean-Yves Vion-Dury wrote: > > Dear colleagues, > I cannot solve this compilation issue; the message is ambiguous, in this sense that one of the proposed sulution (line 81) is apparently the one exposed as problematic... > > Any help much appreciated... > best, > Jean-Yves (and thanks to all contributors) > > src\stores.d(178): Error: none of the overloads of 'spawnFiber' are callable using argument types (void delegate(LRMSFiber f), string, uint, string), candidates are: > src\fiberManager.d(77): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op) > src\fiberManager.d(81): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op, string name) > src\fiberManager.d(85): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op, string name, uint maxMsg) > src\fiberManager.d(89): fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op, string name, uint maxMsg, string ioch) > > --- errorlevel 1 Please post the full function definition of "fiberManager.FiberManager.spawnFiber(void delegate(LRMSFiber) op, string name, uint maxMsg, string ioch)" as well the call-side. |
November 02, 2017 Re: a linking error very hard to understand and solve... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jean-Yves Vion-Dury | On 11/02/2017 05:54 AM, Jean-Yves Vion-Dury wrote:
> On Thursday, 2 November 2017 at 11:54:51 UTC, Biotronic wrote:
>
>>
>> Is LRMSFiber the same type in all these cases? That is, do you have a type called LRMSFiber in more than one file?
>>
>
> Yes, it appears first in an interface (inside a module/file) definition and second in a class definition (inside another module/file)... does it matter ?
From the point of view of the type system, it's a coincidence that they have the same name but they are different types.
Ali
|
Copyright © 1999-2021 by the D Language Foundation