aboutsummaryrefslogtreecommitdiff
path: root/libphobos/src/std/uni
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2023-09-23 12:27:26 +0200
committerIain Buclaw <ibuclaw@gdcproject.org>2023-09-23 13:01:16 +0200
commitd6679fa2d65316e80a267c94c17ad9e23f433f77 (patch)
treeeca9ecef18b21760629c54620785c18bc4452bbd /libphobos/src/std/uni
parent59d27cc55a0588ed7b03bef804662cb844e8a24d (diff)
downloadgcc-d6679fa2d65316e80a267c94c17ad9e23f433f77.zip
gcc-d6679fa2d65316e80a267c94c17ad9e23f433f77.tar.gz
gcc-d6679fa2d65316e80a267c94c17ad9e23f433f77.tar.bz2
d: Merge upstream dmd, druntime 4574d1728d, phobos d7e79f024.
D front-end changes: - Import dmd v2.105.0. - Catch clause must take only `const' or mutable exceptions. - Creating a `scope' class instance with a non-scope constructor is now `@system' only with `-fpreview=dip1000'. - Global `const' variables can no longer be initialized from a non-shared static constructor D runtime changes: - Import druntime v2.105.0. Phobos changes: - Import phobos v2.105.0. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 4574d1728d. * dmd/VERSION: Bump version to v2.105.0. * d-diagnostic.cc (verror): Remove. (verrorSupplemental): Remove. (vwarning): Remove. (vwarningSupplemental): Remove. (vdeprecation): Remove. (vdeprecationSupplemental): Remove. (vmessage): Remove. (vtip): Remove. (verrorReport): New function. (verrorReportSupplemental): New function. * d-lang.cc (d_parse_file): Update for new front-end interface. * decl.cc (d_mangle_decl): Update for new front-end interface. * intrinsics.cc (maybe_set_intrinsic): Update for new front-end interface. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime 4574d1728d. * src/MERGE: Merge upstream phobos d7e79f024.
Diffstat (limited to 'libphobos/src/std/uni')
-rw-r--r--libphobos/src/std/uni/package.d9
1 files changed, 9 insertions, 0 deletions
diff --git a/libphobos/src/std/uni/package.d b/libphobos/src/std/uni/package.d
index 6ab6ba0..9903d6c 100644
--- a/libphobos/src/std/uni/package.d
+++ b/libphobos/src/std/uni/package.d
@@ -7697,6 +7697,15 @@ public:
static assert(false, "No operation "~op~" defined for Grapheme");
}
+ // This is not a good `opEquals`, but formerly the automatically generated
+ // opEquals was used, which was inferred `@safe` because of bugzilla 20655:
+ // https://issues.dlang.org/show_bug.cgi?id=20655
+ // This `@trusted opEquals` is only here to prevent breakage.
+ bool opEquals(R)(const auto ref R other) const @trusted
+ {
+ return this.tupleof == other.tupleof;
+ }
+
/++
True if this object contains valid extended grapheme cluster.
Decoding primitives of this module always return a valid `Grapheme`.