nameExpr is *? nameExpr is g decl is g: pointer to function returning nothing newExpr is Variable Expression: g: pointer to function returning nothing alternatives before prune: Cost ( 0, 0, 0 ): Variable Expression: g: pointer to function returning nothing (types: lvalue pointer to function returning nothing ) Environment: there are 1 alternatives before elimination there are 1 alternatives after elimination working on alternative: Cost ( 0, 0, 0 ): Variable Expression: g: pointer to function returning nothing (types: lvalue pointer to function returning nothing ) Environment: need assertions: ============= original indexer ===idTable=== ===typeTable=== ===structTable=== ===enumTable=== ===unionTable=== ===contextTable=== ============= new indexer ===idTable=== ===typeTable=== ===structTable=== ===enumTable=== ===unionTable=== ===contextTable=== Case +++++++++++++ formals are: actuals are: bindings are: cost of conversion is:( 0, 0, 0 ) alternatives before prune: Cost ( 0, 0, 0 ): Application of Variable Expression: g: pointer to function returning nothing (types: ) Environment: there are 1 alternatives before elimination there are 1 alternatives after elimination alternatives before prune: Cost ( 0, 0, 0 ): Cast of: Application of Variable Expression: g: pointer to function returning nothing to: nothing (types: ) Environment: there are 1 alternatives before elimination there are 1 alternatives after elimination nameExpr is ?=? Error: No reasonable alternatives for expression Name: *? Error: No reasonable alternatives for expression Name: ?=?