diff --git a/src/middle.ts b/src/middle.ts index 5001ac6..63b3c84 100644 --- a/src/middle.ts +++ b/src/middle.ts @@ -184,7 +184,8 @@ class FnLowerer { private lowerPlace(place: ast.Node): Inst { // evaluate to most direct pointer - const ty = this.tys.place(place); + const _ty = this.tys.place(place); + if (place.is("IdentExpr")) { const sym = this.syms.get(place); if (sym.tag === "Let") { @@ -201,13 +202,7 @@ class FnLowerer { } if (place.is("UnaryExpr") && place.kind.op === "Deref") { - const source = this.lowerExpr(place.kind.expr); - // return this.pushInst( - // Ty.create("PtrMut", { ty }), - // "Load", - // { source }, - // ); - return source; + return this.lowerExpr(place.kind.expr); } if (place.is("IndexExpr")) {