Ignore:
Timestamp:
Jun 27, 2018, 3:28:41 PM (6 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
new-env, with_gc
Children:
b21c77a
Parents:
0182bfa (diff), 63238a4 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' into with_gc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/Resolver.cc

    r0182bfa r28f3a19  
    211211                        if ( findDeletedExpr( choice.expr ) ) {
    212212                                trace( choice.expr );
    213                                 SemanticError( choice.expr, "Unique best alternative includes deleted identifier in " );
     213                                SemanticError( untyped->location, choice.expr, "Unique best alternative includes deleted identifier in " );
    214214                        }
    215215                        alt = std::move( choice );
     
    246246
    247247                auto untyped = new CastExpr{ expr }; // cast to void
     248                untyped->location = expr->location;
    248249
    249250                // set up and resolve expression cast to void
     
    271272        void findSingleExpression( Expression *& untyped, Type * type, const SymTab::Indexer & indexer ) {
    272273                assert( untyped && type );
     274                // transfer location to generated cast for error purposes
     275                CodeLocation location = untyped->location;
    273276                untyped = new CastExpr( untyped, type );
     277                untyped->location = location;
    274278                findSingleExpression( untyped, indexer );
    275279                removeExtraneousCast( untyped, indexer );
     
    574578
    575579                                                        // Make sure we don't widen any existing bindings
    576                                                         for ( auto & i : resultEnv ) {
    577                                                                 i.allowWidening = false;
    578                                                         }
    579 
     580                                                        resultEnv.forbidWidening();
     581                                                       
    580582                                                        // Find any unbound type variables
    581583                                                        resultEnv.extractOpenVars( openVars );
Note: See TracChangeset for help on using the changeset viewer.