this post was submitted on 11 Jul 2025
91 points (100.0% liked)

Linux

8409 readers
429 users here now

A community for everything relating to the GNU/Linux operating system (except the memes!)

Also, check out:

Original icon base courtesy of [email protected] and The GIMP

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 14 points 3 days ago* (last edited 3 days ago) (1 children)

I appreciate rust as much as the next dev. But you can define your own types in C just as well? And with the proper warnings and errors -Wall -Werror in place, any warning is an error, and implicit conversions should probably be a warning right?

ETA: Just tried with the following C code and could not get it to fail with gcc.

typedef int t_0;
typedef long t_1;

t_0 test() {
  t_1 foo = 1;
  return foo;
}

Tried with gcc -Wall -Wextra -Wpedantic -Werror and it compiled just fine.

[โ€“] [email protected] 5 points 2 days ago

typedef in C just make an alias to the same type. structs have nominal typing though:

// this typedef is optional to avoid having to refer to the struct tag when referencing the types
typedef struct {int} t_0;
typedef struct {long} t_1;

t_0 test() {
  t_1 foo = {1};
  return foo; // error
}