Changeset d3aa64f1 for src/ResolvExpr/Unify.cc
- Timestamp:
- Aug 31, 2020, 6:55:22 PM (4 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 25a1cb0, 68f0c4e
- Parents:
- 49a980b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/Unify.cc
r49a980b rd3aa64f1 767 767 /// If this isn't done when satifying ttype assertions, then argument lists can have 768 768 /// different size and structure when they should be compatible. 769 struct TtypeExpander_new : public ast::WithShortCircuiting {769 struct TtypeExpander_new : public ast::WithShortCircuiting, public ast::PureVisitor { 770 770 ast::TypeEnvironment & tenv; 771 771 … … 793 793 // TtypeExpander pass is impure (may mutate nodes in place) 794 794 // need to make nodes shared to prevent accidental mutation 795 ast::ptr<ast::DeclWithType> dc = d; 796 dc = dc->accept( expander ); 795 ast::ptr<ast::DeclWithType> dc = d->accept(expander); 797 796 auto types = flatten( dc->get_type() ); 798 797 for ( ast::ptr< ast::Type > & t : types ) { … … 1114 1113 ast::Pass<TtypeExpander_new> expander{ tenv }; 1115 1114 1116 ast::ptr<ast::TupleType> tuplec = tuple;1117 ast::ptr<ast::TupleType> tuple2c = tuple2;1118 const ast::Type * flat = tuple c->accept( expander );1119 const ast::Type * flat2 = tuple2 c->accept( expander );1115 // ast::ptr<ast::TupleType> tuplec = tuple; 1116 // ast::ptr<ast::TupleType> tuple2c = tuple2; 1117 const ast::Type * flat = tuple->accept( expander ); 1118 const ast::Type * flat2 = tuple2->accept( expander ); 1120 1119 1121 1120 auto types = flatten( flat );
Note: See TracChangeset
for help on using the changeset viewer.