Thread (2 messages) 2 messages, 2 authors, 2023-08-10

Re: [PATCH] describe: fix --no-exact-match

From: René Scharfe <hidden>
Date: 2023-08-10 19:46:31

Am 10.08.23 um 03:00 schrieb Junio C Hamano:
Jeff King [off-list ref] writes:
quoted
  int my_foo;
  ...
  OPT_CALLBACK('f', "foo", int, &my_foo, ...etc);

Not great, but it might not be _too_ bad given that most helpers like
OPT_BOOL() can just say "int" behind the scenes.

That said, I don't recall these void pointers being a large source of
errors in the past. So while it's a fun type-system puzzle, the
effort/reward ratio might not be favorable.
I have vague memories of changing a callback from using a string_list
to a strset (or whatever) and getting crashes out of some other callers
that used it non-obviously via some macro.  A compile-time check would
have helped me.
I tend to agree on both counts, it is a fun puzzle, and it probably
is not going to give us sufficient reward.  The fact that "int" and
typeof(my_foo) need to be manually kept straight defeats the "type
safety" justification for this mental exercise.
The many-pointers idea is a bit silly, admittedly.

Having to declare a type manually is how most of C's type safety works,
though, so a certain amount of that is unavoidable.

typeof (along with typeof_unqual) is nice, but I guess it will take a
few years (or decades?) before we can expect it to be supported by all
relevant platforms.

The typed-callback-with-void-wrapper idea seems promising.  Let's see
if we can get it into usable shape.

René
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help