Christian Buttner

Results 89 comments of Christian Buttner

@lerno The changes in `sema_analyse_parameterized_identifier` broke my build, the compiler hangs on a `TYPE_TYPEDEF` type for which `canonical` points to itself. I was not able to extract a minimal test...

So here's what happens: ``` 1 sema_analyse_parameterized_identifier sema_decls.c 4319 0x61cb34dd6375 2 sema_resolve_generic_type sema_types.c 368 0x61cb34e48745 3 sema_resolve_type sema_types.c 415 0x61cb34e48745 4 sema_resolve_type_info sema_types.c 31 0x61cb34e48413 5 sema_analyse_struct_member sema_decls.c 244 0x61cb34de1e33...

The type in question is `Hash_Map` ```c module foo::hash_map(); import foo::hash_map_impl; def Hash_Map = Hash_Map_Impl(); def Marking_Hash_Map = Hash_Map_Impl(); module foo::hash_map_impl(); struct Hash_Map_Impl { // ... } ``` Which is...

@lerno No, I can't come up with a minimal example where this codepath is hit. But the logical error should be apparent, the type is just not being analysed in...

Line numbers for the callstack is at 705856d5 btw.

Forgot I added some debugging code, here are the correct line numbers: ``` 1 sema_analyse_parameterized_identifier sema_decls.c 4306 0x59e6cc1f4354 2 sema_resolve_generic_type sema_types.c 368 0x59e6cc266665 3 sema_resolve_type sema_types.c 415 0x59e6cc266665 4 sema_resolve_type_info...

Yes it works now @lerno

Actually I forgot `bitcast` could also be applied here. But this is still a little confusing.

Looks good now, thanks.

This works as it should. Thank you.