Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Null PMC access when referring to an inner class in Rakudo #663

Closed
p6rt opened this issue Jan 28, 2009 · 9 comments
Closed

Null PMC access when referring to an inner class in Rakudo #663

p6rt opened this issue Jan 28, 2009 · 9 comments

Comments

@p6rt
Copy link

p6rt commented Jan 28, 2009

Migrated from rt.perl.org#62878 (status was 'resolved')

Searchable as RT62878$

@p6rt
Copy link
Author

p6rt commented Jan 28, 2009

From @masak

<masak> rakudo​: class A { class B {}; B.new }
<p6eval> rakudo 36119​: OUTPUT«Null PMC access in find_method() [...]
<masak> :)
* masak submits rakudobug
<masak> rakudo​: class A { class B {} }; B.new
<p6eval> rakudo 36119​: OUTPUT«Null PMC access in find_method() [...]
<masak> rakudo​: class A { class B {}; A​::B.new }
<p6eval> rakudo 36119​: OUTPUT«Null PMC access in getprop() [...]

Only putting 'A​::B.new' outside of the A scope seems to work right
now. I don't know which of these are kosher, but none of them should
do the Null PMC access thing, IMHO.

@p6rt
Copy link
Author

p6rt commented Jun 13, 2010

From radu_cs85@yahoo.com

This appears to work correctly now.

@p6rt
Copy link
Author

p6rt commented Jun 13, 2010

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Jun 13, 2010

From radu_cs85@yahoo.com

On Sun Jun 13 03​:18​:51 2010, radus wrote​:

This appears to work correctly now.
Rakudo b93199009c89af68cbdbe7c29cbd778a50ad2402

@p6rt
Copy link
Author

p6rt commented Jun 23, 2010

From @bbkr

Tests (not yet commited, second test case fails on Kiev build)

# RT #​62878
{
  eval_lives_ok 'class Outside1 { class Inside1 {}; Inside1.new }',
  "can create instance of nested class in the same scope using
short name";

  eval_lives_ok 'class Outside2 { class Inside2 {};
Outside2​::Inside2.new }',
  "can create instance of nested class in the same scope using
full name";

  class Outside3 { class Inside3 {}; };
  isa_ok Inside3.new, Inside3,
  "can create instance of nested class outside declaration scope
using short name";

}

@p6rt
Copy link
Author

p6rt commented Jun 23, 2010

From @bbkr

On Wed Jun 23 09​:02​:21 2010, bbkr wrote​:

Tests (not yet commited, second test case fails on Kiev build)

# RT #​62878
{
eval_lives_ok 'class Outside1 { class Inside1 {}; Inside1.new }',
"can create instance of nested class in the same scope using
short name";

eval\_lives\_ok 'class Outside2 \{ class Inside2 \{\};

Outside2​::Inside2.new }',
"can create instance of nested class in the same scope using
full name";

class Outside3 \{ class Inside3 \{\}; \};
isa\_ok Inside3\.new, Inside3,
    "can create instance of nested class outside declaration scope

using short name";

}

[18​:10] <ash_> according to std you shouldn't be able to do class A {
class B { }; }; B.new # one of your tests is like that

@p6rt
Copy link
Author

p6rt commented Jan 21, 2011

From @coke

On Wed Jun 23 09​:16​:21 2010, bbkr wrote​:

On Wed Jun 23 09​:02​:21 2010, bbkr wrote​:

Tests (not yet commited, second test case fails on Kiev build)

# RT #​62878
{
eval_lives_ok 'class Outside1 { class Inside1 {}; Inside1.new }',
"can create instance of nested class in the same scope using
short name";

eval\_lives\_ok 'class Outside2 \{ class Inside2 \{\};

Outside2​::Inside2.new }',
"can create instance of nested class in the same scope using
full name";

class Outside3 \{ class Inside3 \{\}; \};
isa\_ok Inside3\.new, Inside3,
    "can create instance of nested class outside declaration scope

using short name";

}

[18​:10] <ash_> according to std you shouldn't be able to do class A {
class B { }; }; B.new # one of your tests is like that

The test may fail, but it doesn't have an null PMC error as the original did. The original ticket
is closable, as long as it's tested.

If there's a disagreement about whether or not these suggested tests should pass, that's a
new ticket.

--
Will "Coke" Coleda

1 similar comment
@p6rt
Copy link
Author

p6rt commented Jan 21, 2011

From @coke

On Wed Jun 23 09​:16​:21 2010, bbkr wrote​:

On Wed Jun 23 09​:02​:21 2010, bbkr wrote​:

Tests (not yet commited, second test case fails on Kiev build)

# RT #​62878
{
eval_lives_ok 'class Outside1 { class Inside1 {}; Inside1.new }',
"can create instance of nested class in the same scope using
short name";

eval\_lives\_ok 'class Outside2 \{ class Inside2 \{\};

Outside2​::Inside2.new }',
"can create instance of nested class in the same scope using
full name";

class Outside3 \{ class Inside3 \{\}; \};
isa\_ok Inside3\.new, Inside3,
    "can create instance of nested class outside declaration scope

using short name";

}

[18​:10] <ash_> according to std you shouldn't be able to do class A {
class B { }; }; B.new # one of your tests is like that

The test may fail, but it doesn't have an null PMC error as the original did. The original ticket
is closable, as long as it's tested.

If there's a disagreement about whether or not these suggested tests should pass, that's a
new ticket.

--
Will "Coke" Coleda

@p6rt
Copy link
Author

p6rt commented Sep 30, 2011

@moritz - Status changed from 'open' to 'resolved'

@p6rt p6rt closed this as completed Sep 30, 2011
@p6rt p6rt added the testneeded label Jan 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant