-
-
Notifications
You must be signed in to change notification settings - Fork 665
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
static extension with @:generic
type
#10528
Milestone
Comments
This issue is a convoluted mess. The difference between normal/default using can be seen here: using Main.ExtensionA;
class Main {
static function main() {
var p = new Data("foo");
p.normalUsing();
p.defaultUsing(); // Data_String has no field defaultUsing
}
}
@:using(Main.ExtensionB)
@:generic
class Data<T> {
public var data:T;
public function new(data)
this.data = data;
}
class ExtensionA {
public static function normalUsing<D>(d:D) {
return null;
}
}
class ExtensionB {
public static function defaultUsing<D>(d:D) {
return null;
}
} I expected this to work after d1a2bd1, but it doesn't. |
Simn
added a commit
that referenced
this issue
Nov 15, 2023
0b1kn00b
pushed a commit
to 0b1kn00b/haxe
that referenced
this issue
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
All works if
Data
is not made@:generic
. Two issues:Data<String>
not supposed to work withfunction foo<T>(d:Data<T>)
, if it's generic?using Extension;
vs default@:using(Extension)
.The text was updated successfully, but these errors were encountered: