summaryrefslogtreecommitdiff
path: root/src/smt/model_postprocessor.cpp
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@cs.nyu.edu>2014-10-06 21:23:15 -0400
committerMorgan Deters <mdeters@cs.nyu.edu>2014-10-06 21:26:48 -0400
commit5cee91676e0c0faf1f1fffcb8ffb71baaa6f8a60 (patch)
tree0da2cdc363394f5d6f7239e6ddf8b641522326c1 /src/smt/model_postprocessor.cpp
parent2624b945cbb1dd92efea28220fb38f5ebaf0b66a (diff)
Fix a bug in tuple-record handling. Thanks to Saumya Debray for the report.
Diffstat (limited to 'src/smt/model_postprocessor.cpp')
-rw-r--r--src/smt/model_postprocessor.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/smt/model_postprocessor.cpp b/src/smt/model_postprocessor.cpp
index eea8d2282..dd9d0a78c 100644
--- a/src/smt/model_postprocessor.cpp
+++ b/src/smt/model_postprocessor.cpp
@@ -163,7 +163,10 @@ void ModelPostprocessor::visit(TNode current, TNode parent) {
Assert(t == expectType.end());
d_nodes[current] = b;
Debug("tuprec") << "returning " << d_nodes[current] << endl;
- Assert(d_nodes[current].getType() == expectType);
+ // The assert below is too strong---we might be returning a model value but
+ // expect a type that still uses datatypes for tuples/records. If it's
+ // really not the right type we should catch it in SmtEngine anyway.
+ // Assert(d_nodes[current].getType() == expectType);
} else if(current.getType().hasAttribute(expr::DatatypeRecordAttr())) {
Assert(current.getKind() == kind::APPLY_CONSTRUCTOR);
TypeNode expectType = current.getType().getAttribute(expr::DatatypeRecordAttr());
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback