Stabilisation Report
Summary
This PR will stabilise inline_const feature in expression position. inline_const_pat is still unstable and will not be stabilised.
The feature will allow code like this...
I’m not getting it. What’s the point? It seems very much like a cpp-ism where you can put const in so many places.
constint n2 = 0; // const objectintconst n3 = 0; // const object (same as n2)// https://learn.microsoft.com/en-us/cpp/cpp/const-and-volatile-pointers?view=msvc-170constchar *cpch; // const variable cannot point to another pointerchar * const pchc; // value of pointer is constantintf()const; // members cannot be modified in this, only readstd::string constf(); // returns a constant
I’m not getting it. What’s the point? It seems very much like a cpp-ism where you can put
const
in so many places.const int n2 = 0; // const object int const n3 = 0; // const object (same as n2) // https://learn.microsoft.com/en-us/cpp/cpp/const-and-volatile-pointers?view=msvc-170 const char *cpch; // const variable cannot point to another pointer char * const pchc; // value of pointer is constant int f() const; // members cannot be modified in this, only read std::string const f(); // returns a constant
Then there are constant expressions.
Can anybody look at that and tell me it’s readable with a straight face? I hope they don’t start adding all this stuff to rust.
Anti Commercial-AI license
Nope. This little neat feature mainly is just necessary part of bigger one - const-generics with const bounds.
It can be used for producing const values in arbitrary context. Can basically be swapped for c++'s constexpr.
C++'s const does not exist in rust (values are const by default).