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

Add custom deleter support to UniquePtr #1305

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

darkwisebear
Copy link

Add the possibility to use shared trivial types as deleters for objects managed by std::unique_ptr / UniquePtr.

Add the possibility to use shared trivial types as deleters for objects managed
by std::unique_ptr / UniquePtr.
GCC does not accept an extern "C" storage class specifier along with
definition of the global variable. Split declaration and definition to
overcome this.
Apparently MacOS's unique_ptr implementation puts the
deleter as the 2nd member. Reflect this in the unique_ptr definition.
* Add unnamed lifetimes to drop implementation for UniquePtrTarget
* Update expected stderr to include the deleter type parameter.
@darkwisebear
Copy link
Author

@dtolnay Does this PR have chances to be merged as-is or is there still something I need to do with it in order to get it merged?

@darkwisebear
Copy link
Author

Well, now this guy has a merge conflict. It shouldn't be a big deal to fix it but is it really worth it? Was it laying around for such a long time because the change is bad? If yes, please tell me.

On a more general side, is it worth that I also add allocator support to vector and shared_ptr? Probably not because I feel that for some reason there is no chance of such changes to ever getting merged. If that is due to lack of time I'd be glad to help here. There's a lot of pending PRs that would be embraced by the community and maybe a lot of stuff that people would be willing to contribute I guess.

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.

1 participant