Steadily nibbling away on things
progress maybe
Boy equality of uvar's in unit tests sucks ass and I don't know how it SHOULD work; either we make sure we generate identical uvar ID's in identical contexts which is Hard, or we compare uvar's without comparing ID's which sounds like a great way to create footguns further down the line. ...actually now that I think of it, the problem is that uvar ID's are global mutable state and our tests don't reset it. Hmmmmm.
lol lmao
Sort out a subtle state bug with unification vars. It seems to work, but I still need to make UnknownInt stuff work properly so lots of tests fail currently. Like block_comment1.gt.
wip fiddling with uvar ids
ok unification is being pesky again
Ok, more work combining unification with type inference.
Making tuples work better test_tuples3.gt still doesn't work, 'cause of generic name stuff. Not sure if that's something I should handle rn. It also helpfully panics in a different place if you run it with `RUST_BACKTRACE=1 RUST_LOG=trace` , 'cause it bombs out trying to print diagnostics. :D
Starting to make tuples work
nibbling on unification
omg I think if's work
Finally get to actually do nbe stuff again Next up: If exprs
Fix broken IndexChecker Feels kinda silly but here we are
holy heck I did something right
Someday I'll have a systematic approach to integration tests
Remove hir::Expr::Block since hir::Expr::Let does the same thing now
Cleanup for let lowering
Ok the let-expr nesting works. Time for cleanup.
WIP for let expr changes Ok well structurally the let conversion from "let x = y;" to "let x = y, a = b in ..." is all cleaned up. But actually doing that conversion during lowering is currently a todo!(). Oh, I think I know how to make it work...