Thread overview
Strange vibe.d build error
Dec 21, 2017
H. S. Teoh
Dec 21, 2017
WebFreak001
Dec 23, 2017
Seb
Dec 27, 2017
H. S. Teoh
December 21, 2017
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
December 21, 2017
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?
December 23, 2017
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

Most likely, it's because of this: https://github.com/vibe-d/vibe.d/pull/1983

If you use dmd nightly you should see a better error message, courtesy of:
https://github.com/dlang/dmd/pull/7405
https://github.com/dlang/dmd/pull/7441
https://github.com/dlang/dmd/pull/7448
December 23, 2017
On Saturday, 23 December 2017 at 10:39:37 UTC, Petar Kirov [ZombineDev] 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
>
> Most likely, it's because of this: https://github.com/vibe-d/vibe.d/pull/1983
>
> If you use dmd nightly you should see a better error message, courtesy of:
> https://github.com/dlang/dmd/pull/7405
> https://github.com/dlang/dmd/pull/7441
> https://github.com/dlang/dmd/pull/7448

There was also a similar PR for vibe-core:

https://github.com/vibe-d/vibe-core/pull/43

I'm pretty sure that either of them is using stdx-allocator and the other isn't. The merged PRs might only be tagged/released in alphas.
December 27, 2017
On Sat, Dec 23, 2017 at 10:39:37AM +0000, Petar 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?!
[...]
> Most likely, it's because of this: https://github.com/vibe-d/vibe.d/pull/1983

Ah, figures!


> If you use dmd nightly you should see a better error message, courtesy of: https://github.com/dlang/dmd/pull/7405 https://github.com/dlang/dmd/pull/7441 https://github.com/dlang/dmd/pull/7448

I was using dmd git master.


T

-- 
Everybody talks about it, but nobody does anything about it!  -- Mark Twain