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

Instance builder cleanup #11376

Merged
merged 24 commits into from Nov 15, 2023
Merged

Instance builder cleanup #11376

merged 24 commits into from Nov 15, 2023

Conversation

Simn
Copy link
Member

@Simn Simn commented Nov 14, 2023

Another PR so I don't forget about branches. This attempts to clean up our type instance loading and reduce some code duplication. The goal is to have type_new and load_instance use the same mechanism instead of doing their own thing. This should also fix some related issues that I'll have to dig up, in particular things related to typedef and @:generic.

Currently makes #11367 worse (and consistent) which is why the test for #2016 is commented out. Will look into that kind of stuff before merging.

Closes #3864
Closes #5482
Closes #5536
Closes #6500
Closes #6761
Closes #7574
Closes #9358
Closes #9395
Closes #10528
Closes #11010
Closes #11367

@skial skial mentioned this pull request Nov 15, 2023
1 task
@Simn
Copy link
Member Author

Simn commented Nov 15, 2023

This turned into a big @:generic cleanup party, so it closes a whole bunch of issues. The test for #11010 causes issues on C# and cppia (but only on mac...?), but that's very likely an already existing issue.

@Simn Simn merged commit 128261a into development Nov 15, 2023
122 checks passed
@Simn Simn deleted the instance_builder_cleanup branch November 15, 2023 18:34
0b1kn00b pushed a commit to 0b1kn00b/haxe that referenced this pull request Jan 25, 2024
* change return of build_instance to record

* also rename

* also seperate

* also bring back typedef deprecation check

* alsp keep special cases in the right place

* mess around

* avoid some work if we need no params anyway

* make @:generic inference work again

* remove Generic_Exception

* push expected type before loading instance

closes HaxeFoundation#3864

* expand generic types on field call candidate when expanding generic function

closes HaxeFoundation#5482

* build generic parents as well

closes HaxeFoundation#6761

* inherit `@:autoBuild` to generic instance

closes HaxeFoundation#5536

* also inherit @:keepSub while we're at it

closes HaxeFoundation#6500

* deal with KExpr in generic classes properly

closes HaxeFoundation#7574

* don't inherit cf_expr_unoptimized to generic instances

closes HaxeFoundation#9358

* reroute FClosure in map_expr_type

closes HaxeFoundation#9395

* inherit cl_using to generic instances

closes HaxeFoundation#10528

* set inherited flags on generic instance fields at the right time

closes HaxeFoundation#11010

* I really don't care

* wild guess

* avoid the follow change
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment