December 21, 2017
On Thu, Dec 21, 2017 at 10:04:29PM +0000, WebFreak001 via Digitalmars-d wrote:
> On Thursday, 21 December 2017 at 21:10:39 UTC, H. S. Teoh wrote:
> > After pulling from vibe.d git master today, my vibe.d project doesn't compile anymore. `dub build` dies with:
> > 
> > 	/usr/src/d/vibe.d/stream/vibe/stream/memory.d(56,42): Error:
> > constructor vibe.utils.array.AllocAppender!(ubyte[],
> > ubyte).AllocAppender.this (IAllocator alloc, ubyte[] initial_buffer
> > = null) is not callable using argument types (IAllocator)
> > 
> > No idea where to even start looking, because the error message doesn't make sense. The ctor is stated to take an IAllocator as first parameter, and an optional second parameter defaulting to null. So why does calling the ctor with an instance of IAllocator fail?!
> > 
> > 
> > --T
> 
> have you tried `dub upgrade && dub build --force` yet and pulled potential submodules?

Hmm, that seemed to do the trick. Thanks!

But still, that error message is exceedingly unhelpful.  If possible I'd love to track it down and file an enhancement to improve the error message.


T

-- 
When solving a problem, take care that you do not become part of the problem.
December 22, 2017
On 2017-12-22 00:43, H. S. Teoh wrote:

> But still, that error message is exceedingly unhelpful.  If possible I'd
> love to track it down and file an enhancement to improve the error
> message.

You can get that error when using two different symbols with the same local name but different fully qualified names. Since the compiler doesn't use the fully qualified name in the error message it can be very confusing. Although I'm not sure if this was the problem you had.

-- 
/Jacob Carlborg