aboutsummaryrefslogtreecommitdiff
path: root/include/unicode/string.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/unicode/string.h')
-rw-r--r--include/unicode/string.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/include/unicode/string.h b/include/unicode/string.h
index d80f04c..3a8c77a 100644
--- a/include/unicode/string.h
+++ b/include/unicode/string.h
@@ -17,14 +17,16 @@ enum [[clang::__flag_enum__]] caseflags {
/* clang-format on */
-size_t u8glen(const char8_t *, size_t);
+[[__nodiscard__]] size_t u8glen(const char8_t *, size_t);
size_t u8gnext(struct u8view *, const char8_t **, size_t *);
-size_t u8casefold(char8_t *restrict, size_t, const char8_t *, size_t,
- enum caseflags);
-size_t u8lower(char8_t *restrict, size_t, const char8_t *, size_t,
- enum caseflags);
-size_t u8upper(char8_t *restrict, size_t, const char8_t *, size_t,
- enum caseflags);
+#define _mlib_warn_trunc __nodiscard__("don’t forget to check for truncation")
+
+[[_mlib_warn_trunc]] size_t u8casefold(char8_t *restrict, size_t,
+ const char8_t *, size_t, enum caseflags);
+[[_mlib_warn_trunc]] size_t u8lower(char8_t *restrict, size_t, const char8_t *,
+ size_t, enum caseflags);
+[[_mlib_warn_trunc]] size_t u8upper(char8_t *restrict, size_t, const char8_t *,
+ size_t, enum caseflags);
#endif /* !MLIB_UNICODE_STRING_H */