Sean T Allen

Results 854 comments of Sean T Allen

I haven't checked but I am assuming that this is an issue for fields because we don't reorder their initialization (or prevent it from happening) but it is ok for...

Here's the important LLVM IR we can see from an example from #4301: works (yup): ```llvm ; Function Attrs: nounwind define private fastcc void @Bar_ref_create_o(%Bar* nocapture writeonly dereferenceable(24) %this) unnamed_addr...

@jemc this is interesting... llvm (debug as otherwise a ton gets optimized away) for the "it works with a local variable"... ```llvm define fastcc void @Main_tag_create_oo(%Main* dereferenceable(272) %this, %Env* readonly...

I think I understand what is going on and if I'm correct it is insidious. I need to discuss with @jemc.

I think the issue is that we do the refer pass and set all the fields as defined because they are by the end of the refer pass and then...

A better, less clever option might be to move expr_object and expr_lambda to a new pass that comes before refer. much like the traits pass comes before refer and can...

@jemc i have what i think is a straightforward fix to this, but you would be the expert here. we merge the refer pass back into the expression pass. that...

or @jemc, they move into the completeness pass from refer. i think either is a reasonable approach. i think you suggested moving from refer to completeness at sync yesterday.

@jemc and I discussed multiple options today and we have an approach that I am going to try.

> I don't actually see a usecase for typeparam_constraint, it seems like you'd always want to use constraint_cap instead. swapping out for `constraint_cap` everywhere doesn't work. so something more surgical...