Skip to content

Conversation

@wilzbach
Copy link
Contributor

Vibe.d 0.8.3 won't include std.experimental.allocator anymore.

See also: vibe-d/vibe.d#1983

Needed for dlang/phobos#5921

@wilzbach
Copy link
Contributor Author

Rebased to rekick Travis as there was were weird issues with fetching the log.

@wilzbach
Copy link
Contributor Author

Ping @s-ludwig - there just seems to be a Python issue with Travis. As this is the last bit that's missing for dlang/phobos#5921 it would be really cool to have it in ;-)

void render(scope HTTPServerRequest req, scope HTTPServerResponse res)
{
auto dst = StreamOutputRange(res.bodyWriter);
auto dst = StreamOutputRange(res.bodyWriter.asInterface!OutputStream);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is to avoid this error:

source/app.d(8,30): Error: template vibe.stream.wrapper.StreamOutputRange cannot deduce function from argument types !()(InterfaceProxy!(OutputStream)), candidates are:
/home/seb/.dub/packages/vibe-d-0.8.3-alpha.2/vibe-d/stream/vibe/stream/wrapper.d(290,32):        vibe.stream.wrapper.StreamOutputRange()(OutputStream stream)
/home/seb/.dub/packages/vibe-d-0.8.3-alpha.2/vibe-d/stream/vibe/stream/wrapper.d(292,1):        vibe.stream.wrapper.StreamOutputRange(OutputStream, ulong buffer_size = 256) if (isOutputStream!OutputStream)

Is the InterfaceProxy really necessary? Looks like it creates a lot of problems with the upcoming 0.8.3

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think streamOutputRange(res.bodyWriter) should work here (without the additional overhead of asInterface). Unfortunately InterfaceProxy is still necessary when using vibe-core, but eventually all uses of it will be replaced by static types using templates.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought so too, but DMD tells me otherwise: https://travis-ci.org/rejectedsoftware/diet-ng/jobs/332745186

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, note the small s. It's just a constructor wrapper to enabled IFTI.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, note the small s

Note sure what you mean by this?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's streamOutputRange vs. StreamOutputRange. The former is the correct one and the latter is what appears to be called for the failing build output.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah got it. Thanks!

@wilzbach
Copy link
Contributor Author

@ximion meson is failing here too with DMD 2.078.0, e.g. https://travis-ci.org/rejectedsoftware/diet-ng/jobs/332860354
As with vibe-d/vibe.d#2038 I temporarily disabled meson until the bug fixes at meson have been merged and got tagged.

@s-ludwig
Copy link
Member

Thanks, finally passing!

@s-ludwig s-ludwig merged commit 5d2e879 into rejectedsoftware:master Jan 24, 2018
@ximion
Copy link
Contributor

ximion commented Jan 24, 2018

@wilzbach Makes sense - I will fix up everything when Meson releases some release that works again :P

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants