mirror of
https://github.com/golang/go
synced 2024-11-22 07:54:40 -07:00
error message fixes
x == nil x.go:5: cannot use nil as bool c := x.(type); x.go:88: use of .(type) outside type switch R=ken OCL=34476 CL=34476
This commit is contained in:
parent
e780fa8669
commit
83bdb805a2
@ -132,6 +132,8 @@ convlit1(Node **np, Type *t, int explicit)
|
||||
case CTNIL:
|
||||
switch(et) {
|
||||
default:
|
||||
yyerror("cannot use nil as %T", t);
|
||||
n->type = T;
|
||||
goto bad;
|
||||
|
||||
case TSTRING:
|
||||
|
@ -307,6 +307,8 @@ reswitch:
|
||||
defaultlit2(&l, &r, 0);
|
||||
n->left = l;
|
||||
n->right = r;
|
||||
if(l->type == T || r->type == T)
|
||||
goto error;
|
||||
t = l->type;
|
||||
if(t->etype == TIDEAL)
|
||||
t = r->type;
|
||||
@ -960,9 +962,8 @@ reswitch:
|
||||
goto ret;
|
||||
|
||||
case OTYPESW:
|
||||
ok |= Etop;
|
||||
typecheck(&n->right, Erv);
|
||||
goto ret;
|
||||
yyerror("use of .(type) outside type switch");
|
||||
goto error;
|
||||
|
||||
case OXCASE:
|
||||
ok |= Etop;
|
||||
|
Loading…
Reference in New Issue
Block a user