aboutsummaryrefslogtreecommitdiff
path: root/src/parse.cff
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2022-08-19 20:09:54 +0200
committerlemon <lsof@mailbox.org>2022-08-19 20:09:54 +0200
commita136923427d52644a705c50585294035536677df (patch)
tree9464d5a5b691482a6dcb6020eaca3d4155898206 /src/parse.cff
parent1391927ab44c40d45ee7825a4ce0a5d2b8394d72 (diff)
more miscellaneous fixes
Diffstat (limited to 'src/parse.cff')
-rw-r--r--src/parse.cff3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/parse.cff b/src/parse.cff
index 379fa90..e0fd82d 100644
--- a/src/parse.cff
+++ b/src/parse.cff
@@ -1618,11 +1618,12 @@ fn pexpostfix(P *Parser) Expr {
if ty->is(:Ptr) {
ty = ty.u.Ptr;
}
+ ty = unconstify(ty);
if !ty->is(:Agg) {
fatal(P, tok.loc, "left-hand-side is not an aggregate (%t)", ty);
}
let agg = &ty.u.Agg;
- let decl = envfind_noparent(agg.decls, name);
+ let decl *Decl = agg.decls ? envfind_noparent(agg.decls, name) : #null;
if decl == #null {
fatal(P, tok.loc, "%t has no such method %qT", ty, tok);
}