-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
regression: error[E0512]: cannot transmute between types of different sizes, or dependently-sized types (Thread
)
#134711
Comments
This bisects to #123550. The regressed crates were probably relying on specific layout guarantees about the |
I don't think it was ever a guarantee, just Hyrum's Law in action. |
sorry, when I wrote guarantee I really meant assumptions. False guarantees :) |
The
That appears to be fixed in |
cc #132619 (another report of the same problem) It looks like this is almost ready to be fixed by landing #132654, so a future release will probably "fix" these crates again -- but since this isn't a stable implementation detail it feels reasonable to let Thread change in size back and forth a few times. |
I'm going to go ahead and close this as won't fix; I don't think it merits compat notes that are something like "standard library types may change in size". The breakage seems fairly limited too. |
They are all variants of transmuting
Thread
, including theLock(Thread)
in the 3rd one:I'm sure the answer is "don't do that!" -- but at least we can have an issue for reference.
Version it worked on
It most recently worked on: 1.83.0
Version with regression
Using rustc 1.84.0-beta.4 in crater #134138.
@rustbot modify labels: +regression-from-stable-to-beta -regression-untriaged
The text was updated successfully, but these errors were encountered: