diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-04-16 02:14:07 +0200 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-04-16 02:14:07 +0200 |
commit | fcc4316b28ecc353595ec3efd98b101494a0d2ae (patch) | |
tree | df3bf570993247e25745cfb78484ec73175a3115 /include/unicode/string.h | |
parent | 43b04a1bfaecfabe8b3460575db7be5d592f896b (diff) |
Add _attrs.h for function attributes
Diffstat (limited to 'include/unicode/string.h')
-rw-r--r-- | include/unicode/string.h | 16 |
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 */ |