Changeset 7d7ef6f for src/SynTree/TypeSubstitution.cc
- Timestamp:
- Feb 17, 2022, 2:35:23 PM (3 years ago)
- Branches:
- ADT, ast-experimental, enum, forall-pointer-decay, master, pthread-emulation, qualifiedEnum
- Children:
- a556492
- Parents:
- 51b8582
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/TypeSubstitution.cc
r51b8582 r7d7ef6f 146 146 } 147 147 148 static bool are_same( TypeInstType * left, TypeInstType * right ) {149 if ( left->baseType && right->baseType ) {150 return left->baseType == right->baseType;151 } else {152 return left->name == right->name;153 }154 }155 156 148 Type * TypeSubstitution::Substituter::postmutate( TypeInstType *inst ) { 157 149 BoundVarsType::const_iterator bound = boundVars.find( inst->name ); … … 166 158 // TODO: investigate preventing type variables from being bound to themselves in the first place. 167 159 if ( TypeInstType * replacement = dynamic_cast< TypeInstType * >( i->second ) ) { 168 if ( are_same( inst, replacement )) {160 if ( inst->name == replacement->name ) { 169 161 return inst; 170 162 }
Note: See TracChangeset
for help on using the changeset viewer.