Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Hyper 0.10 #6

Closed
abonander opened this issue Mar 10, 2017 · 7 comments · Fixed by #16
Closed

Support Hyper 0.10 #6

abonander opened this issue Mar 10, 2017 · 7 comments · Fixed by #16

Comments

@abonander
Copy link
Owner

I think this is as simple as doing hyper = ">=0.9, < 0.11" for Anterofit and multipart, but it probably needs testing.

@abonander
Copy link
Owner Author

Blocked on nickel-org/nickel.rs#395

@IslandUsurper
Copy link

nickel-org/nickel.rs#395 was apparently resolved by nickel-org/nickel.rs#401.

@abonander
Copy link
Owner Author

abonander commented Dec 14, 2017

Well the issue was mostly eliminated by moving Nickel support out of mainline multipart, I just haven't had time to work on this project lately. I'm also waiting for both async Hyper and procedural macros beyond custom derive to stabilize. I believe with procedural attribute macros, I can support simpler and more elegant syntax without an exponential blowup of macro cases.

I've thought about how I can make it work with custom derive but that would require turning service traits into structs, I think, where the service methods become inherent methods and the derived trait is like FromAdapter or something (though custom derive doesn't currently restrict the generated code to an impl of the named trait).

It would work but the main issue is serializers and deserializers; since they can't be type-erased, the exact serializer/deserializer types either have to be hardcoded into service struct definitions or else each struct has to be generic over them (or the adapter type itself), and that means forcing generics on any function that takes service structs. I really do prefer the trait approach as it allows type erasure and passing services around as opaque types while still being generic over (de)serializer types, but it makes it more difficult to adapt them to custom-derive though I think I could make it work still.

@discosultan
Copy link

What's the status on this? I'm running into troubles during compilation because of the old version of Hyper still using an ssl library incompatible with OpenSSL 1.1.0 lib and includes.

@abonander
Copy link
Owner Author

@discosultan The latest version of Multipart supports Hyper 0.10, I'm not sure why this is still open.

@abonander
Copy link
Owner Author

Sorry, I was thinking about the wrong repo. I'll get something out later today.

@discosultan
Copy link

That'd be awesome, thanks @abonander!

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 a pull request may close this issue.

3 participants