I've done some work on this, and wrote a draft paper <https://github.com/chorman0773/CXX-Papers/blob/master/std_error_function.md>.
I am interested in any feedback.
I decided on a similar function, std::compiler_error, which has the same compile time behavior, but its UB at runtime. This would allow users to write std::error, with whatever runtime behavior they wish. 
I would be interested in any feedback people have, both on the semantics, and in the structure of the paper itself. 
Thank you to the great people on the std-proposals mailing list.

On Fri, 6 Mar 2020 at 11:07, connor horman <chorman64@gmail.com> wrote:
constinit won't downgrade (as the standard requires a constant expression initializer). I did forget about that.

On Fri, 6 Mar 2020 at 10:13, Thiago Macieira via Std-Proposals <std-proposals@lists.isocpp.org> wrote:
On Friday, 6 March 2020 06:46:56 PST connor horman via Std-Proposals wrote:
> Currently it is not possible to implement std::error in a way that it will
> work with initializing non-constexpr variables. Throwing an exception
> simply downgrades to runtime, only erroring if the result is needed at
> compile time.

Does that also apply to constinit variables?

--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel System Software Products



--
Std-Proposals mailing list
Std-Proposals@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals