diff --git a/CHANGES b/CHANGES index a7318a36..ccbdeb62 100644 --- a/CHANGES +++ b/CHANGES @@ -1445,3 +1445,6 @@ Version history - better propagate the raw option modifier (!) to expanded expressions - don't fail enumerating child expressions if one fails, show error for this item instead * dmdserver: fixed intellisense on TemplateInstance!Argument + +2025-07-15 version 1.4.1 + * dmdserver: do not display invalid struct size and alignment in tool tip diff --git a/VERSION b/VERSION index 5435b41c..8ceece45 100644 --- a/VERSION +++ b/VERSION @@ -1,5 +1,5 @@ #define VERSION_MAJOR 1 #define VERSION_MINOR 4 #define VERSION_REVISION 1 -#define VERSION_BETA -beta -#define VERSION_BUILD 4 +#define VERSION_BETA +#define VERSION_BUILD 0 diff --git a/vdc/dmdserver/dmd b/vdc/dmdserver/dmd index 11d592ed..09db2a83 160000 --- a/vdc/dmdserver/dmd +++ b/vdc/dmdserver/dmd @@ -1 +1 @@ -Subproject commit 11d592ed08822900b6e8b3c209314d3a0ac76b68 +Subproject commit 09db2a83f0098572d59e7ffdbfc8bf16383a490f diff --git a/vdc/dmdserver/semvisitor.d b/vdc/dmdserver/semvisitor.d index bd824600..73e7be02 100644 --- a/vdc/dmdserver/semvisitor.d +++ b/vdc/dmdserver/semvisitor.d @@ -1284,8 +1284,15 @@ bool showSizeAndAlignment = false; string tipSizeAndAlignment(Type t) { if (auto cd = t.isClassHandle()) + { + if (cd.sizeok != Sizeok.done) + return ""; return "Size: " ~ to!string(cd.structsize) ~ ", Alignment: " ~ to!string(cd.alignsize); - return "Size: " ~ to!string(t.size()) ~ ", Alignment: " ~ to!string(t.alignsize()); + } + auto sz = t.size(); + if (sz == SIZE_INVALID) + return ""; + return "Size: " ~ to!string(sz) ~ ", Alignment: " ~ to!string(t.alignsize()); } TipData tipForType(Type t)