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

StdSet and StdMultiset support #434

Merged
merged 9 commits into from
Jun 2, 2024
Merged

Conversation

PraneethJain
Copy link
Contributor

@PraneethJain PraneethJain commented May 26, 2024

/~https://github.com/PraneethJain/libcxxwrap-julia#StdMultiset

Add support for std::set and std::multiset

@barche
Copy link
Collaborator

barche commented May 26, 2024

The reason for the failures on macOS is that you are building libcxxwrap-julia v0.12.2, but the latest JLL is at v0.12.3 and on mac the library version is stored in the referenced dylib. A simple rebase of your libcxxwrap-julia changes onto the latest main (which is ias 0.12.3) should fix this.

@PraneethJain
Copy link
Contributor Author

Hey, the DOVERRIDE_VERSION_TO_JLL flag was making it so that the JLL version was being pulled from github releases, on which the latest was 0.12.2. I've turned it off so that the correct version is now built.

src/StdLib.jl Outdated Show resolved Hide resolved
src/StdLib.jl Outdated Show resolved Hide resolved
@PraneethJain PraneethJain requested a review from barche May 30, 2024 09:06
@PraneethJain PraneethJain changed the title feat: StdSet StdSet and StdMultiset support May 31, 2024
@barche
Copy link
Collaborator

barche commented May 31, 2024

I checked the StdSet part and that is fine for me. Optionally, you could try adding some prettier printing, I think this can be largely simplified by making set and multiset inherit from the AbstractSet Julia type (requires a change on the C++ side). It's probably best to have this inheritance structure for maximal Julia compatibility.

@PraneethJain
Copy link
Contributor Author

I checked the StdSet part and that is fine for me. Optionally, you could try adding some prettier printing, I think this can be largely simplified by making set and multiset inherit from the AbstractSet Julia type (requires a change on the C++ side). It's probably best to have this inheritance structure for maximal Julia compatibility.

Inheriting from AbstractSet requires Base.iterate to be implemented for pretty printing, which depends on iterators. So changing the inheritance structure after the iterators PR is merged makes sense. Is that fine?

@barche
Copy link
Collaborator

barche commented May 31, 2024

Inheriting from AbstractSet requires Base.iterate to be implemented for pretty printing, which depends on iterators. So changing the inheritance structure after the iterators PR is merged makes sense. Is that fine?

Yes, that is OK!

@barche barche merged commit 5c1f6d1 into JuliaInterop:main Jun 2, 2024
9 checks passed
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