Looks like a useful tool for the toolbox, although the class names in pt2 can go die in a pit. Do you know of anything similar on the JS side?
What are the compiler bugs you ran into? I'm no compiler expert, but my suspicion is that they were more feature requests than anything else, considering you're working in a "here be dragons" area of the map.
(the person who posted the article here isn't the author (me))
The bugs in part 1 all around using higher ranked trait bounds. I'd disagree with the characterization that they're "feature requests": five years ago, yes, I would agree, but this entire area of the compiler needs to be bug-free for an upcoming feature (GATs) anyway, and indeed, the issues I found were often fixed by people working on fixing related GAT bugs. Ultimately, my use of higher ranked trait bounds is an attempt to emulate some of what GATs get you in stable Rust, so it's not surprising that the bugs are in the same area of the code.
If I understand correctly, GATs are about being able to change compiler assumptions about data types in user code? Generics acting on the compiler?
How is that helpful? Is it that you're trying to skip all the language boilerplate around creating objects? Are there any risks/footguns to that approach?
Generic type-driven code makes my head hurt, let me know if I'm somewhat close
GATs allow traits to abstract over associated types that are themselves to some degree abstract. In this case, it's necessary to do the relevant trait machinery around lifetime transformation since we need to be able to talk about "a replaceable lifetime of a type" in a generic way.
What are the compiler bugs you ran into? I'm no compiler expert, but my suspicion is that they were more feature requests than anything else, considering you're working in a "here be dragons" area of the map.