diff --git a/relnotes/fix-is-string-type.bug.md b/relnotes/fix-is-string-type.bug.md new file mode 100644 index 000000000..e0fb800ca --- /dev/null +++ b/relnotes/fix-is-string-type.bug.md @@ -0,0 +1,10 @@ +### Fix function to check for UTF-8 string type + +`ocean.meta.traits.Arrays` + +The function `ocean.meta.traits.Arrays.isUTF8StringType()` is suggested to +replace the deprecated `ocean.core.Traits.isStringType()` but it failed to +check for static arrays and now it is fixed to support both basic kind of +arrays. + +Fixes #778 diff --git a/src/ocean/meta/traits/Arrays.d b/src/ocean/meta/traits/Arrays.d index 940823b17..0c7a0328e 100644 --- a/src/ocean/meta/traits/Arrays.d +++ b/src/ocean/meta/traits/Arrays.d @@ -35,13 +35,13 @@ import ocean.meta.types.Qualifiers; template isUTF8StringType ( T ) { static immutable isUTF8StringType = - isArrayType!(T) == ArrayKind.Dynamic - && is(Unqual!(ElementTypeOf!(T)) == char); + isBasicArrayType!(T) && is(Unqual!(ElementTypeOf!(T)) == char); } /// unittest { + static assert (isUTF8StringType!(char[1])); static assert (isUTF8StringType!(char[])); static assert (isUTF8StringType!(Immut!(char)[])); static assert (!isUTF8StringType!(wchar[]));