Remove Array include from dictionary.h and ustring.h.#111244
Conversation
Repiteo
left a comment
There was a problem hiding this comment.
While testing a merge batch, other changes revealed further necessary forward-declares. The first is that we need to forward-declare Array in core/extension/gdextension_special_compat_hashes.h, while the second is shown below (alongside respecting the original file's choice to separate class/struct fds with a newline)
3afa4a1 to
dc5e615
Compare
I had a feeling some of these include changes would clash 😅 |
There was a problem hiding this comment.
I had a feeling some of these include changes would clash 😅
Yeaaah, that's another inconvenience of this process. Piecemealed changes are great for atomic changelogs, but they won't always play nice if merged in batches. Attempting to not merge in batches can lead to this process taking too long, and risks stagnating several PRs that are completely acceptable in isolation.
I suppose there's always the option of a local validation step and making relevant changes there before pushing, but I can't guarantee that'll pass all CI as well. If anything, this could be the usecase for the native merge queue feature, albeit one that'd still need a healthy amount of pre-planning
In any case, assuming CI passes, this is once again ready to roll!
|
Thanks! |
STATIC_ASSERT_INCOMPLETE_TYPEto enforce include minimality. #107587Decreases coupling within core by removing
array.hinclude fromdictionary.handustring.h.Most modules will include it anyway, since many are working with
variant.h, which includes pretty much everything.Still, this should improve compile time for some modules, and pave the way for the eventual
variant.hincludes refactor.