aboutsummaryrefslogtreecommitdiff
path: root/libphobos/src/std/uni
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2025-01-06 23:11:02 +0100
committerIain Buclaw <ibuclaw@gdcproject.org>2025-01-11 00:51:15 +0100
commitc82395e03592e5858c34f0b824f494eb94b37404 (patch)
tree8fddc3a6b179866de8e4950888cef1c6b4e834a5 /libphobos/src/std/uni
parenta7ae0c31245a7db7abf2e80d0016510afe9c8ad0 (diff)
downloadgcc-c82395e03592e5858c34f0b824f494eb94b37404.zip
gcc-c82395e03592e5858c34f0b824f494eb94b37404.tar.gz
gcc-c82395e03592e5858c34f0b824f494eb94b37404.tar.bz2
d: Merge dmd, druntime 4ccb01fde5, phobos eab6595ad
D front-end changes: - Added pragma for ImportC to allow setting `nothrow', `@nogc' or `pure'. - Mixin templates can now use assignment syntax. D runtime changes: - Removed `ThreadBase.criticalRegionLock' from `core.thread'. - Added `expect', `[un]likely', `trap' to `core.builtins'. Phobos changes: - Import latest fixes from phobos v2.110.0-beta.1. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 4ccb01fde5. * Make-lang.in (D_FRONTEND_OBJS): Rename d/foreachvar.o to d/visitor-foreachvar.o, d/visitor.o to d/visitor-package.o, and d/statement_rewrite_walker.o to d/visitor-statement_rewrite_walker.o. (D_FRONTEND_OBJS): Rename d/{parsetime,permissive,postorder,transitive}visitor.o to d/visitor-{parsetime,permissive,postorder,transitive}.o. (D_FRONTEND_OBJS): Remove d/sapply.o. (d.tags): Add dmd/common/*.h. (d/visitor-%.o:): New rule. * d-codegen.cc (get_frameinfo): Update for new front-end interface. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime 4ccb01fde5. * src/MERGE: Merge upstream phobos eab6595ad.
Diffstat (limited to 'libphobos/src/std/uni')
-rw-r--r--libphobos/src/std/uni/package.d6
1 files changed, 2 insertions, 4 deletions
diff --git a/libphobos/src/std/uni/package.d b/libphobos/src/std/uni/package.d
index b6d31a8..f7610c0 100644
--- a/libphobos/src/std/uni/package.d
+++ b/libphobos/src/std/uni/package.d
@@ -7005,7 +7005,7 @@ private enum TransformRes
// Note, getting GB1 (break at start of text, unless text is empty) right
// relies on the user starting grapheme walking from beginning of the text, and
// not attempting to walk an empty text.
-private enum TransformRes
+private immutable TransformRes
function(ref GraphemeState, dchar) @safe pure nothrow @nogc [] graphemeTransforms =
[
GraphemeState.Start: (ref state, ch)
@@ -7243,9 +7243,7 @@ if (is(C : dchar))
static assert(c2 == 3); // \u0301 has 2 UTF-8 code units
}
-// TODO: make this @nogc. Probably no big deal since the state machine is
-// already GC-free.
-@safe pure nothrow unittest
+@safe pure nothrow @nogc unittest
{
// grinning face ~ emoji modifier fitzpatrick type-5 ~ grinning face
assert(graphemeStride("\U0001F600\U0001f3FE\U0001F600"d, 0) == 2);