Now that non-capturing closures can be coerced to function pointers, I really want to do things like this: ```rust 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?
Activity
oli-obk commentedon Sep 18, 2017
This is just an oversight that happened when closure -> fn ptr coercion was added.
oli-obk commentedon Mar 16, 2018
This has been fixed in #46882