-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Add test which attempts to modify static memory at compile-time #53818
Comments
Hi @oli-obk , I would like to work on this if that's ok. I'm a new Rustacean and I'm learning rustc development and testing. It's time to get my feet wet 😃 |
Great! I think the following steps should suffice, but don't hesitate to ask if anything is unclear or doesn't work as expected
|
Hi @oli-obk , error[E0015]: calls in statics are limited to constant functions, tuple structs and tuple variants error[E0658]: statements in statics are unstable (see issue #48821) error: aborting due to 2 previous errors I think E0015 is the expected error. But I'm not sure about E0658. It seems that the const_let feature is not stabilized yet. (But compiling const_let.rs doesn't return this error.) Could you please help with this problem? Thanks a lot. |
These errors are fine. the idea of this issue is to just make sure the code always fails to compile. More errors are fine, too. the const let feature has a bug where even enabling it will still report it. that's not problematic for this issue. Can you add a comment to the test mentioning that this test should never ever succeed? If you want you can additionally try to minimize the test to something still emitting the feature gate error even though the feature gate is active (and maybe to something that should be perfectly fine at compile time). then open a new issue about that. |
Thanks @oli-obk ! I will try to reproduce the unexpected error related to the feature gate. Meanwhile it seems that this task will be blocked by that issue since the ui test will fail if the error signature doesn't match with the expected one. Is that right? |
you can just make them match ;) Add all the annotations you need to make the test pass. Whenever someone changes your test, because they fixed other bugs or implemented new features, they'll hopefully look at the comment about the fact that the test should never succeed to compile. |
Add a test that tries to modify static memory at compile-time Attempt to fix rust-lang#53818 cc @oli-obk
No matter what kind of const eval features we add, we should never allow this. Even if we managed to allow this, I think the current impl would ICE. Even if it does not ICE, it could never actually modify the memory. We should ensure that the following code always errors.
The text was updated successfully, but these errors were encountered: