Skip to content
New issue

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

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

Already on GitHub? # to your account

feat: Support function types - an attempt to rebase #526 with current main #1177

Closed
wants to merge 2 commits into from

Conversation

hsutter
Copy link
Owner

@hsutter hsutter commented Jul 23, 2024

Hand-merged #526 into current main code

Some basic examples compile, but reflect.h2 doesn't yet, needs investigation

My main additional change so far to the #526 diffs is that I've commented out some of the new error message emissions on what appeared to be trial parses(?), because the presence of the error message stopped further processing and caused programs like f: (x: int) { } to fail

Hand-merged #526 into current main code

Some basic examples compile, but `reflect.h2` doesn't yet, needs investigation

I've commented out some error message emission on what appeared to be trial parses(?), because the presence of the error message stopped further processing
@hsutter
Copy link
Owner Author

hsutter commented Jul 23, 2024

Thanks again #526, and deep apologies for the delay as I haven't kept up with PRs.

This now builds, but isn't quite working yet because I haven't yet fully grokked how this affects parsing normal function types, which are failing in reflect.h2 for example which is my current test case. I suspect it's something fairly simple... @JohelEGP I know you're busy with other things now, but if you do have a chance to take a look I'd appreciate it and can prioritize my time for this now. Thanks again for this contribution!

@JohelEGP
Copy link
Contributor

I'm happy to see this take off.

caused programs like f: (x: int) { }

That seems wrong, because f is a function, and not a function type.
Some condition that guards undo_function_parse might be wrong.

@hsutter
Copy link
Owner Author

hsutter commented Jul 26, 2024

Interim update: I've spent the last couple of days on this but haven't been able to make more progress in getting it working. Today I tried doing a fresh from-scratch parallel implementation with a different implementation approach, but only got basic std::function cases working and have hit some barriers on that path.

I'll need to set this aside for a few days and then maybe try to take a run at it again...

@hsutter
Copy link
Owner Author

hsutter commented Jul 26, 2024

OK, I haven't been able to get this branch working, but I'm making progress on an independent implementation, will create a new PR for that...

@hsutter
Copy link
Owner Author

hsutter commented Jul 27, 2024

OK, I got my second try in #1183 working, so I'll merge that in favor of this attempt to rebase the original PR. Thanks again though for #526 and your many other contributions already merged, @JohelEGP !

@hsutter hsutter deleted the function-types-from-pr-526 branch November 2, 2024 02:48
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants