class X::TypeCheck::Assignment is X::TypeCheck { }

Error class thrown when the type check of an assignment fails.

For example, this will die

my Int $x = "foo";
CATCH { default { put .^name, ': ', .Str } };
# OUTPUT: «X::TypeCheck::Assignment: Type check failed in assignment to $x; expected Int but got Str ("foo")␤»

though compilers are allowed to detect obvious cases like this example and complain at compile time with a different error.