Skip to content

Instantly share code, notes, and snippets.

@FROGGS

FROGGS/out.txt Secret

Last active December 15, 2015 07:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save FROGGS/52dc87bd2203230eb12f to your computer and use it in GitHub Desktop.
Save FROGGS/52dc87bd2203230eb12f to your computer and use it in GitHub Desktop.
diff --git a/src/6model/reprs/P6opaque.c b/src/6model/reprs/P6opaque.c
index 292c18a..6ccb401 100644
--- a/src/6model/reprs/P6opaque.c
+++ b/src/6model/reprs/P6opaque.c
@@ -1003,8 +1003,9 @@ static void change_type(PARROT_INTERP, PMC *obj, PMC *new_type) {
mro_is_suffix = 0;
}
if (!mro_is_suffix)
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
- "P6opaque only supports type changes where the MRO of the original type is a suffix of the MRO of the new type");
+ printf("P6opaque only supports type changes where the MRO of the original type is a suffix of the MRO of the new type\n");
+// Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
+// "P6opaque only supports type changes where the MRO of the original type is a suffix of the MRO of the new type");
/* If the new REPR never calculated it's object layout, do so now. */
if (!new_repr_data->allocation_size)
$ make -j4 && ./perl6 --ll-exception -e 'if 1 { say 2 }; { use v5; for(1..5) { say $_; } }; say "back in perl 6 land"'
P6 use v5
P6opaque only supports type changes where the MRO of the original type is a suffix of the MRO of the new type
method P5 numish(1)
method P5 numish(1) integer 1
method P5 number:sym<numish>(1) 1
method P5 value:sym<number>(1) 1
method P5 term:sym<value>(1) 1
method P5 termish(1) 0 1 0
method P5 numish(5)
method P5 numish(5) integer 5
method P5 number:sym<numish>(5) 5
method P5 value:sym<number>(5) 5
method P5 term:sym<value>(5) 5
method P5 termish(5) 0 5 0
method P5 EXPR(.., INFIX)
method P5 EXPR(.., )
method P5 termish($_) 0 $_ 0
method P5 EXPR($_, )
method P5 arglist($_)
method P5 arglist($_) EXPR
method P5 args( $_) arglist
method P5 term:sym<identifier>(say $_)
method P5 term:sym<identifier>(say $_) !macro
method P5 term:sym<identifier>(say $_) !macro &say
method P5 termish(say $_) 0 say $_ 0
method P5 EXPR(say $_, )
method P5 statement(say $_, )
method P5 statement(say $_, ) EXPR say $_
method P5 statementlist( say $_; )
method P5 statementlist( say $_; ) if statement 1
method P5 statementlist( say $_; ) if for statement say $_
method P5 statementlist( say $_; ) if for statement ast
method P5 statementlist( say $_; ) list >= 1
method P5 statement(for(1..5) { say $_; } , )
method P5 statement(for(1..5) { say $_; } , ) statement_control for(1..5) { say $_; }
method P5 statementlist( for(1..5) { say $_; } )
method P5 statementlist( for(1..5) { say $_; } ) if statement 1
method P5 statementlist( for(1..5) { say $_; } ) if for statement for(1..5) { say $_; }
method P5 statementlist( for(1..5) { say $_; } ) if for statement ast
method P5 statementlist( for(1..5) { say $_; } ) list >= 1
method P5 statement(use v5; for(1..5) { say $_; } , )
method P5 statement(use v5; for(1..5) { say $_; } , ) statement_control use v5; for(1..5) { say $_; }
2
1
2
3
4
5
back in perl 6 land
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment