=begin pod :kind("Type") :subkind("class") :category("exception")

=TITLE class X::TypeCheck::Assignment

=SUBTITLE Error due to a failed type check during assignment

    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.

=end pod
