-
Notifications
You must be signed in to change notification settings - Fork 553
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
use strict; broken in some situations in 5.28+ #17254
Labels
Comments
|
A quick demo of it on each stable branch is at https://perl.bot/p/5mxjc9 |
|
tonycoz
added a commit
to tonycoz/perl5
that referenced
this issue
Nov 4, 2019
tonycoz
added a commit
that referenced
this issue
Nov 4, 2019
|
Fixed by a6d5b82 |
nschloe
pushed a commit
to live-clones/lintian
that referenced
this issue
Nov 6, 2019
…alculations.
The name of the directory 'basedir' was confusing because it was used
for the Lab, the Pool and for each group. This change clarifies when
the group directory is being used.
The group directory is the holding directory for all the analysis
related to a 'group' of files, which ordinarily derive from the same
source package and have the same version.
Also, a 'convenience function' for path calculations in Processable
was removed. This uses Path::Tiny for path calculations instead.
It may be possible to use string concatenation to avoid overhead and
module load times, except the author recently found a bug in Perl in
that circumstance:
Perl/perl5#17254
Path::Tiny is well-tested module that may come in handy for other file
or path related operations in checks in the future.
Gbp-Dch: ignore
nschloe
pushed a commit
to live-clones/lintian
that referenced
this issue
Nov 6, 2019
… path calculations.
The name of the directory 'basedir' was confusing because it was used
for the Lab, the Pool and for each group. This change clarifies when
the group directory is being used.
The group directory is the holding directory for all the analysis
related to a 'group' of files, which ordinarily derive from the same
source package and have the same version.
Also, a 'convenience function' for path calculations in Processable
was removed. This uses Path::Tiny for path calculations instead.
It may be possible to use string concatenation to avoid overhead and
module load times, except the author recently found a bug in Perl in
that circumstance:
Perl/perl5#17254
Path::Tiny is well-tested module that may come in handy for other file
or path related operations for data consumers in the future.
Gbp-Dch: ignore
nschloe
pushed a commit
to live-clones/lintian
that referenced
this issue
Nov 6, 2019
…for path calculations.
The name of the directory 'basedir' was confusing because it was used
for the Lab, the Pool and for each group. This change clarifies when
the group directory is being used.
The group directory is the holding directory for all the analysis
related to a 'group' of files, which ordinarily derive from the same
source package and have the same version.
Also, a 'convenience function' for path calculations in Processable
was removed. This uses Path::Tiny for path calculations instead.
It may be possible to use string concatenation to avoid overhead and
module load times, except the author recently found a bug in Perl in
that circumstance:
Perl/perl5#17254
Path::Tiny is well-tested module that may come in handy for other file
or path related operations for data consumers in the future.
Gbp-Dch: ignore
nschloe
pushed a commit
to live-clones/lintian
that referenced
this issue
Nov 6, 2019
… path calculations.
The name of the directory 'basedir' was confusing because it was used
for the Lab, the Pool and for each group. This change clarifies when
the group directory is being used.
The group directory is the holding directory for all the analysis
related to a 'group' of files, which ordinarily derive from the same
source package and have the same version.
Also, a 'convenience function' for path calculations in Processable
was removed. This uses Path::Tiny for path calculations instead.
It may be possible to use string concatenation to avoid overhead and
module load times, except the author recently found a bug in Perl in
that circumstance:
Perl/perl5#17254
Path::Tiny is well-tested module that may come in handy for other file
or path related operations in Lintian::Tags in the future.
Gbp-Dch: ignore
khwilliamson
pushed a commit
that referenced
this issue
Nov 6, 2019
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description
In a narrow situation, use strict allows some undeclared names to be used as string literals, when it previously didn't in pre-5.28 releases. This was initially reported by Lintian maintainer Felix Lechner on IRC earlier today. Ether did some digging and found that it was introduced in 5.27.6 and has given a guess that it's related to OP_MULTICONCAT but no bisection has happened yet to confirm this.
Steps to Reproduce
Reproduces:
perl -wle'use strict; use warnings; sub foo { "foo" }; print foo() . SLASH . "bar"'Doesn't Reproduce:
perl -wle'use strict; use warnings; print "foo" . SLASH . "bar"'Expected behavior
There should be an error from use strict about the use of SLASH in this manner
Perl configuration
On IRC ether did a bit of diagnosis and work to try to identify what happened:
The text was updated successfully, but these errors were encountered: