From d6679fa2d65316e80a267c94c17ad9e23f433f77 Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Sat, 23 Sep 2023 12:27:26 +0200 Subject: 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. --- libphobos/src/std/uni/package.d | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'libphobos/src/std/uni') 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`. -- cgit v1.1