Simn / haxe

6 stars 0 forks source link

C# failing due to weird unit.Either type #32

Open Simn opened 10 years ago

Simn commented 10 years ago

So I've merged development branch into higher_kinded_types_reloaded today, which went surprisingly smooth. The Java target is working now, but C# fails with a Not_found exception. I printed that to find that it looks for unit.Either in a list of interfaces, which is very strange because from what I can tell that type is actually an enum.

The relevant lookup can be found here: https://github.com/Simn/haxe/blob/higher_kinded_types_reloaded/gencommon.ml#L4653

This suggests that we have a TInst where the class argument is an enum?! I don't know how to interpret this error.

@frabbit: Any idea?

Simn commented 10 years ago

Actually there's a EnumToClassModf filter which could be the culprit. In that case this might come from the fact that unifies is false. @waneck: Could this be a filter order bug in gencommon where enums are transformed to classes too early?

waneck commented 10 years ago

I find it hard, but I'll look into it asap

Simn commented 9 years ago

This is still broken by the way. :(

waneck commented 9 years ago

I will look at it TODAY. :-)

waneck commented 9 years ago

Okay, I did some work on it. It still isn't compiling, but it has advanced. I'll look at this other problem later. The best way to not let me forget about this is to add the issue to HaxeFoundation/haxe .

Simn commented 8 years ago

@waneck: This still fails!