-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add interpolated strings #508
add interpolated strings #508
Conversation
based on DIP1036e
✅ PR OK, no changes in deprecations or warnings Total deprecations: 0 Total warnings: 0 Build statistics: ------ libdparse statistics ------
statistics (-before, +after)
-library size=3105644 libdparse.a
-rough build time=17s
+library size=3203546 libdparse.a
+rough build time=16s
------ DCD statistics ------
statistics (-before, +after)
client size=1048544 bin/dcd-client
-server size=3089720 bin/dcd-server
+server size=3098880 bin/dcd-server
rough build time=78s
-DCD run_tests.sh Elapsed (wall clock) time (h:mm:ss or m:ss): 0:08.86
-DCD run_tests.sh Maximum resident set size (kbytes): 41748
+DCD run_tests.sh Elapsed (wall clock) time (h:mm:ss or m:ss): 0:08.87
+DCD run_tests.sh Maximum resident set size (kbytes): 46060
short requests: (230x)
- min request time = 0.010ms
- 10th percentile = 0.140ms
- median time = 0.459ms
- 90th percentile = 0.783ms
- max request time = 4.367ms
+ min request time = 0.009ms
+ 10th percentile = 0.121ms
+ median time = 0.464ms
+ 90th percentile = 0.772ms
+ max request time = 1.806ms
long requests over 10ms: (51x)
- min request time = 21.416ms
- 10th percentile = 22.181ms
- median time = 23.954ms
- 90th percentile = 25.846ms
- max request time = 31.331ms
+ min request time = 20.374ms
+ 10th percentile = 20.769ms
+ median time = 23.052ms
+ 90th percentile = 26.430ms
+ max request time = 32.173ms
top 5 GC sources in server:
bytes allocated, allocations, type, function, file:line
78117888 844 void[] std.array.Appender!(const(TokenStructure!(ubyte, "import dparse.lexer:TokenTriviaFields,TriviaToken; mixin TokenTriviaFields;"))[]).Appender.ensureAddable.__lambda9 /opt/hostedtoolcache/dc/dmd-2.105.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3634
15257216 476788 void[] core.lifetime._d_newitemT!(Data)._d_newitemT /opt/hostedtoolcache/dc/dmd-2.105.2/x64/dmd2/linux/bin64/../../src/druntime/import/core/lifetime.d:2833
14316800 164422 void[] std.array.Appender!(DSymbol*[]).Appender.ensureAddable.__lambda9 /opt/hostedtoolcache/dc/dmd-2.105.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3634
9773344 305417 Data std.array.Appender!string.Appender.this /opt/hostedtoolcache/dc/dmd-2.105.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3509
7372208 281 ubyte[] msgpack.unpacker.Unpacker.InternalBuffer!().initializeBuffer ../../../../.dub/packages/msgpack-d/1.0.4/msgpack-d/src/msgpack/common.d:628 Full build output
|
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #508 +/- ##
==========================================
- Coverage 84.25% 83.80% -0.46%
==========================================
Files 11 12 +1
Lines 8561 8841 +280
==========================================
+ Hits 7213 7409 +196
- Misses 1348 1432 +84
... and 1 file with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
assert(l.empty); | ||
} | ||
|
||
checkExactlyOneToken(`i"hello"`); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like your tests don't include iq{} and i`` so might want to add this (pushed up to the dmd thing just a couple days ago. i think that is all the string forms i intend to add at this time, though i imagine eventually someone will ask for the other delimited forms too lol)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also added c/w/d literal suffix, I saw that was dismissed in the PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, it lexes and parses them, but then issues a semantic error.
tbh took a lil more code than i thought it would but still... nice. |
closing in favor of #510 |
based on DIP1036e
needs more tests still and actual usage in e.g. DCD to see how it behaves
TODO: