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 for non-copyable objects in lvalues #30

Merged
merged 3 commits into from
Oct 31, 2019
Merged

Support for non-copyable objects in lvalues #30

merged 3 commits into from
Oct 31, 2019

Conversation

tmattha
Copy link

@tmattha tmattha commented Oct 26, 2019

!READ DESCRIPTION FIRST! Not up to merge yet.

If you would be willing to adopt these changes I will also adjust neither::Maybe (and neither::lift if needed). Please give feedback if this matches your design concept. Unfortunately I did not find a contribution policy in the repository. :(

Contents
This relaxes the restrictions on using the library with types that are not copy-constructible. It leverages the SFINAE idiom to provide proper implementation for types like std::unique_ptrs. This should not change behavior of existing code, as the template candidates only apply to cases, where previously compilation would not be possible.

Changes

  • Extend neither::Either with template candidates for non-copyable types.
  • Provide additional tests for the Either class regarding use of non-copyable types.

@tmattha
Copy link
Author

tmattha commented Oct 26, 2019

From my understanding the Travis build fails, because buck is not installed on the MacOS slave.

@nikhedonia nikhedonia merged commit d2db83d into LoopPerfect:master Oct 31, 2019
@nikhedonia
Copy link
Contributor

Looks great, thanks!

@tmattha tmattha mentioned this pull request Nov 12, 2019
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.

2 participants