-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
workspace() and LastMain regression #17764
Comments
Bisected the first issue (ie. |
This is probably due to this line in toplevel.c:
Giving 2 modules the same uuid doesn't bode well for telling things apart. @vtjnash Can we live without this? |
No, as the comment says, this line is critical for being able to use using after calling workspace. There's nothing wrong with modules having the same id or for object_ids to be non-unique. Why is printing failing? |
The type cache is equating two types that it shouldn't due to the object_id collision. While object_id necessarily has collisions since it might hash a large amount of data, it would be nice to avoid collisions this blatant. For now I'll see if I can make the type cache robust to this. |
In the type cache, make ordered comparison of types not depend on object_id. Clarify help for `object_id`, since it technically can have collisions. While I'm at it, remove unnecessary call to re-sort `tn->linearcache` (it is not in sorted order).
In the type cache, make ordered comparison of types not depend on object_id. Clarify help for `object_id`, since it technically can have collisions. While I'm at it, remove unnecessary call to re-sort `tn->linearcache` (it is not in sorted order).
fix #17764, type problem due to object_id collision after `workspace()`
…orkspace()` In the type cache, make ordered comparison of types not depend on object_id. Clarify help for `object_id`, since it technically can have collisions. While I'm at it, remove unnecessary call to re-sort `tn->linearcache` (it is not in sorted order).
@maleadt and I uncovered a regression in the
workspace()
behavior. Compare the behavior of calling the constructors ofFoo
andBar
afterworkspace()
:However, on 0.4.6:
Also, on 0.5,
The text was updated successfully, but these errors were encountered: