C23 does not change anything in this situation, because we are talking about the definition of main(), not a forward declaration. More details here:
https://news.ycombinator.com/item?id=38729278#38732366
In what situation fn() doesn't mean fn(void) under C23?
In what situation fn() doesn't mean fn(void) under C23?