Closed vushu closed 1 year ago
✅ PR OK, no changes in deprecations or warnings
Total deprecations: 126
Total warnings: 4
Build statistics:
statistics (-before, +after)
client size=1055768 bin/dcd-client
-server size=3006192 bin/dcd-server
-rough build time=90s
+server size=3006064 bin/dcd-server
+rough build time=88s
-DCD run_tests.sh Elapsed (wall clock) time (h:mm:ss or m:ss): 0:05.95
-DCD run_tests.sh Maximum resident set size (kbytes): 9564
+DCD run_tests.sh Elapsed (wall clock) time (h:mm:ss or m:ss): 0:06.08
+DCD run_tests.sh Maximum resident set size (kbytes): 10552
-short requests: (215x)
- min request time = 0.015ms
- 10th percentile = 0.136ms
- median time = 0.516ms
- 90th percentile = 0.872ms
- max request time = 1.813ms
+short requests: (219x)
+ min request time = 0.021ms
+ 10th percentile = 0.133ms
+ median time = 0.519ms
+ 90th percentile = 0.896ms
+ max request time = 2.086ms
top 5 GC sources in server:
bytes allocated, allocations, type, function, file:line
- 7554112 81399 void[] std.array.Appender!(DSymbol*[]).Appender.ensureAddable.__lambda9 /opt/hostedtoolcache/dc/dmd-2.102.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3577
- 7536640 460 void[] std.array.Appender!(TokenStructure!(ubyte, "import dparse.lexer:TokenTriviaFields; mixin TokenTriviaFields;")[]).Appender.ensureAddable.__lambda9 /opt/hostedtoolcache/dc/dmd-2.102.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3577
+ 7711040 83095 void[] std.array.Appender!(DSymbol*[]).Appender.ensureAddable.__lambda9 /opt/hostedtoolcache/dc/dmd-2.102.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3577
+ 7667712 468 void[] std.array.Appender!(TokenStructure!(ubyte, "import dparse.lexer:TokenTriviaFields; mixin TokenTriviaFields;")[]).Appender.ensureAddable.__lambda9 /opt/hostedtoolcache/dc/dmd-2.102.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3577
2277376 278 void[] std.array.Appender!(char[][]).Appender.ensureAddable.__lambda9 /opt/hostedtoolcache/dc/dmd-2.102.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3577
- 1830176 57193 std.array.Appender!(dsymbol.symbol.DSymbol*[]).Appender.Data std.array.Appender!(DSymbol*[]).Appender.this /opt/hostedtoolcache/dc/dmd-2.102.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3452
- 1586176 609 void[] std.array.Appender!(const(TokenStructure!(ubyte, "import dparse.lexer:TokenTriviaFields; mixin TokenTriviaFields;"))[]).Appender.ensureAddable.__lambda9 /opt/hostedtoolcache/dc/dmd-2.102.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3577
+ 1868736 58398 std.array.Appender!(dsymbol.symbol.DSymbol*[]).Appender.Data std.array.Appender!(DSymbol*[]).Appender.this /opt/hostedtoolcache/dc/dmd-2.102.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3452
+ 1582080 620 void[] std.array.Appender!(const(TokenStructure!(ubyte, "import dparse.lexer:TokenTriviaFields; mixin TokenTriviaFields;"))[]).Appender.ensureAddable.__lambda9 /opt/hostedtoolcache/dc/dmd-2.102.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3577
Wouldn't it also be annoying for the user to see completion whenever the user actually just want's to write a some floating number? Im not sure in that matter.
I think it wouldn't really matter, since users would just continue to type numbers when writing floats and would write method names/identifiers if they want ufcs.
@WebFreak001 I understand you concern I could just remove the support for string variable for now? by removing
|| symbolType.name.data == "string") // special case for string
I only added support for stringLiteral to keep PR small , It would be trivial to add bool literal if this get s merged, numbers require a little more work.
sure we can add string support here, but we should not extend this code further with more types. Rather instead integrate it into the semantic passes to make sure everything benefits from this.
I agreed I will see if I can integrate UFCS more within the semantic passes and maybe remove ufcs.d altogether, but I will probably do it gradually.
I noticed UFCS completion should also work for string and string literal.
I also experimented with UFCS completion for number literals, but it is bit more problematic since
42.
is tokenized as typedoubleLiteral
.Wouldn't it also be annoying for the user to see completion whenever the user actually just want's to write a some floating number? Im not sure in that matter.