Add meta definition for bitcast.

This instruction uses two type variables: input and output. Make sure that our
parser can handle it. The output type variable annotation is mandatory.

Add a ValueTypeSet::example() method which is used to provide better diagnostics
for a missing type variable.
This commit is contained in:
Jakob Stoklund Olesen
2016-07-07 13:40:16 -07:00
parent 2bfb4ca5b7
commit 4a929f5e41
6 changed files with 113 additions and 9 deletions

View File

@@ -651,7 +651,10 @@ impl<'a> Parser<'a> {
} else if constraints.is_polymorphic() {
// This opcode does not support type inference, so the explicit type variable
// is required.
return err!(self.loc, "type variable required for polymorphic opcode");
return err!(self.loc,
"type variable required for polymorphic opcode, e.g. '{}.{}'",
opcode,
constraints.ctrl_typeset().unwrap().example());
} else {
// This is a non-polymorphic opcode. No typevar needed.
VOID