Re: Strange vibe.d build error

2017-12-27 Thread H. S. Teoh via Digitalmars-d
On Sat, Dec 23, 2017 at 10:39:37AM +, 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


Re: Strange vibe.d build error

2017-12-23 Thread Seb via Digitalmars-d
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.


Re: Strange vibe.d build error

2017-12-23 Thread Petar via Digitalmars-d

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


Re: Strange vibe.d build error

2017-12-22 Thread Jacob Carlborg via Digitalmars-d

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


Re: Strange vibe.d build error

2017-12-21 Thread H. S. Teoh via Digitalmars-d
On Thu, Dec 21, 2017 at 10:04:29PM +, 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.


Re: Strange vibe.d build error

2017-12-21 Thread WebFreak001 via Digitalmars-d

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?