This dies no with a typed exception X::TypeCheck $ perl6-m -e 'my (Str $a) = 3' Type check failed in assignment to '$a'; expected 'Str' but got 'Int' in method STORE at src/gen/m-CORE.setting:9265 in block <unit> at -e:1
I added a test to S04-declarations/my.t with commit https://github.com/perl6/roast/commit/d561d4977c. Actually there was already a very similiar test 'my (Int $a); $a = "str"', but since I didn't want to merge both tickets (which was primarily about native types) I added this extra test which refers to this ticket. I'm closing this ticket as 'resolved'.