Ignore:
Timestamp:
Jul 18, 2018, 5:18:29 PM (4 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
new-env
Children:
eff03a94
Parents:
5c14030
Message:

Fix assorted memory bugs with persistent-array environment

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/TypeEnvironment.h

    r5c14030 rd318a18  
    138138        };
    139139
     140        class ValidateGuard;
     141
    140142        class TypeEnvironment {
    141143                friend ClassRef;
    142 
     144                friend GcTracer;
     145               
    143146                /// Backing storage for equivalence classes
    144147                using Classes = PersistentDisjointSet<interned_string>;
     
    152155                /// may be null.
    153156                Bindings* bindings;
     157
     158                // for debugging
     159                friend ValidateGuard;
     160                const char* last_fn = "<none>";
    154161
    155162                /// Merges the classes rooted at root1 and root2, returning a pair containing the root and
     
    234241        T ClassRef::get_vars() const {
    235242                T vars;
    236                 if ( ! env->classes->count( root ) ) return vars;
    237243                env->classes->for_class( root, [&vars]( interned_string var ) {
    238244                        vars.insert( vars.end(), var );
Note: See TracChangeset for help on using the changeset viewer.