this post was submitted on 25 Apr 2024
42 points (100.0% liked)

Rust

5980 readers
105 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] onlinepersona@programming.dev 0 points 6 months ago* (last edited 6 months ago) (2 children)

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

[–] Miaou@jlai.lu 4 points 6 months ago

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).

[–] fzz@programming.dev 3 points 6 months ago

Nope. This little neat feature mainly is just necessary part of bigger one - const-generics with const bounds.