This was introduced by changing the implementation of "isNumber" in this commit:
a94318b
This fixes issue #1105.
}
bool String::isNumber() const {
+ if (d_str.empty()) {
+ return false;
+ }
for (unsigned character : d_str) {
unsigned char c = convertUnsignedIntToChar(character);
if (c < '0' || c > '9') {
username_checker_min.smt2 \
repl-empty-sem.smt2 \
bug799-min.smt2 \
- strings-charat.cvc
+ strings-charat.cvc \
+ issue1105.smt2
FAILING_TESTS =
--- /dev/null
+(set-logic ALL)
+(set-option :strings-exp true)
+(set-info :status sat)
+(declare-datatype Val (
+ (Str (str String))
+ (Num (num Int))))
+
+(declare-const var0 Val)
+(assert (=> (is-Str var0) (distinct (str.to.int (str var0)) (- 1))))
+(check-sat)