you are viewing a single comment's thread
view the rest of the comments
[–] 12 points 1 year ago* (last edited 1 year ago) (1 child)

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.

  • source
  • hideshow 1 child comment
  • [–] 5 points 1 year 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
    }
    
  • source
  • parent