diff options
author | Morgan Deters <mdeters@cs.nyu.edu> | 2014-10-06 21:23:15 -0400 |
---|---|---|
committer | Morgan Deters <mdeters@cs.nyu.edu> | 2014-10-06 21:26:48 -0400 |
commit | 5cee91676e0c0faf1f1fffcb8ffb71baaa6f8a60 (patch) | |
tree | 0da2cdc363394f5d6f7239e6ddf8b641522326c1 /src/smt/model_postprocessor.cpp | |
parent | 2624b945cbb1dd92efea28220fb38f5ebaf0b66a (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.cpp | 5 |
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()); |