Fixed in rev#101649 of EiffelStudio 18.05 intermediate release. As a temporary solution you can copy the following implementation of the feature and recompile the all the precompiles and projects from scratch: is_valid_utf_16 (s: SPECIAL [NATURAL_16]): BOOLEAN -- Is `s' a valid UTF-16 Unicode sequence? local i, n: INTEGER c: NATURAL_16 do from i := 0 n := s.count Result := True until i >= n or not Result loop c := s.item (i) if c < 0xD800 or c >= 0xE000 then -- Codepoint from Basic Multilingual Plane: one 16-bit code unit, this is valid Unicode. elseif c <= 0xDBFF then i := i + 1 if i < n then c := s.item (i) Result := 0xDC00 <= c and c <= 0xDFF else -- Surrogate pair is incomplete, clearly not a valid UTF-16 sequence. Result := False end else -- Invalid starting surrogate pair which should be between 0xD800 and 0xDBFF. Result := False end i := i + 1 end end