Raku / old-issue-tracker

Tickets from RT
https://github.com/Raku/old-issue-tracker/issues
2 stars 1 forks source link

LTA: require of non installed module #6683

Closed p6rt closed 6 years ago

p6rt commented 6 years ago

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

Searchable as RT133107$

p6rt commented 6 years ago

From martin@senfdax.de

requireing a non installed module leads to strange error if the name starts with the name of a core module. e.g​:

perl6 -e 'require IO​::Socket​::Async​::SSL' IO​::Socket​::Async​::SSL is a builtin type, not an external module   in block \ at -e line 1

p6rt commented 6 years ago

From @lizmat

The problem is actually caused by the error reporting​:

https://github.com/rakudo/rakudo/blob/08b951c8f33cfc702c308e64efcb44f3ec725117/src/core/Exception.pm6#L2969

The only heuristic I’ve been able to find so far that the value of $ns{$_} suddenly is no longer fully qualified if the namespace doesn’t exist. I guess we can build some heuristic check on that, but it feels fragile. Perhaps nine / ugexe / jnthn have a better idea about that.

On 13 Apr 2018, at 08​:34, Martin Barth (via RT) \perl6\-bugs\-followup@​perl\.org wrote​:

# New Ticket Created by Martin Barth # Please include the string​: [perl #​133107] # in the subject line of all future correspondence about this issue. # \<URL​: https://rt-archive.perl.org/perl6/Ticket/Display.html?id=133107 >

requireing a non installed module leads to strange error if the name starts with the name of a core module. e.g​:

perl6 -e 'require IO​::Socket​::Async​::SSL' IO​::Socket​::Async​::SSL is a builtin type, not an external module in block \ at -e line 1

p6rt commented 6 years ago

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

p6rt commented 6 years ago

From @zoffixznet

On Thu, 12 Apr 2018 23​:34​:43 -0700, martin@​senfdax.de wrote​:

requireing a non installed module leads to strange error if the name starts with the name of a core module. e.g​:

perl6 -e 'require IO​::Socket​::Async​::SSL' IO​::Socket​::Async​::SSL is a builtin type, not an external module   in block \ at -e line 1

Thank you for the report. This is now fixed.

Fix​: https://github.com/rakudo/rakudo/commit/4b2512a22236e09 Test​: https://github.com/rakudo/rakudo/commit/4b2512a22236e09

p6rt commented 6 years ago

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