We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Now that non-capturing closures can be coerced to function pointers, I really want to do things like this:
struct Foo { a: fn(u32) -> u32 } static FOO: Foo = Foo { a: |x| x*2 };
but while it seems to work perfectly, it still returns this warning:
warning: constant evaluation error: unsupported constant expr. This will become a HARD ERROR in the future --> src/main.rs:7:19 | 7 | static Foo: Foo = Foo { | ___________________^ 8 | | a: |x| x*2 9 | | }; | |_^ | = note: #[warn(const_err)] on by default
Why would this become an hard error? Is this an error in the lint, or is there a problem in doing this?
The text was updated successfully, but these errors were encountered:
This is just an oversight that happened when closure -> fn ptr coercion was added.
Sorry, something went wrong.
This has been fixed in #46882
No branches or pull requests
Now that non-capturing closures can be coerced to function pointers, I really want to do things like this:
but while it seems to work perfectly, it still returns this warning:
Why would this become an hard error? Is this an error in the lint, or is there a problem in doing this?
The text was updated successfully, but these errors were encountered: