develooper Front page | perl.perl5.porters | Postings from June 2019

[perl #134180] [PATCH] overload::OverloadedStringify docs and tests

Thread Previous
From:
Smylers
Date:
June 6, 2019 12:30
Subject:
[perl #134180] [PATCH] overload::OverloadedStringify docs and tests
Message ID:
rt-4.0.24-23918-1559824230-381.134180-75-0@perl.org
# New Ticket Created by  Smylers 
# Please include the string:  [perl #134180]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=134180 >


This is a bug report for perl from smylers@stripey.com,
generated with the help of perlbug 1.41 running under perl 5.31.1.


-----------------------------------------------------------------

The overload module has an internal function OverloadedStringify which
is useful but not documented or tested. So here are docs and tests.

The function is used by Moose, among other things:
https://grep.metacpan.org/search?q=OverloadedStringify

It used to be used internally (by Larry Wall, in the initial
implementation of overload in 4633a7c4, Perl 5.002 beta 1) but hasn't
been for 15 years. Maybe it could've been removed at that point, but it
wasn't, and removing it now would break things.

So documenting it and adding tests for it seems more sensible.

I wasn't entirely sure where the best place in overload.t was to add the
tests for overload::OverloadedStringify:

• Straight after the overload::Overloaded tests made sense, but some of
  the tests after that are commented with what looks like their test
  numbers (search for ‘# 225’ and ‘# 230’), so I thought it better not
  to risk renumbering those.

  But, glancing at the verbose test output, it seems that the test
  commented # 230 is already test 234, so maybe that wouldn't've
  mattered.

• At the end of the file would seem another obvious place for new tests,
  but there's a test with the comment ‘KEEP THIS TEST LAST’, which I
  didn't want to to disobey. So I added the new tests just above there.

  However, there are several tests after the one with that comment, so
  again maybe that wouldn't've mattered.

-----------------------------------------------------------------
---
Flags:
    category=library
    severity=low
    Type=Patch
    PatchStatus=HasPatch
    module=overload
---
Site configuration information for perl 5.31.1:

Configured by smylers at Thu Jun  6 11:46:24 BST 2019.

Summary of my perl5 (revision 5 version 31 subversion 1) configuration:
  Local Commit: 6d4abcdaf9a79aa74fdfd074c75d8015725cfb72
  Ancestor: fb55ce6b7596b9e94f941cf83eac5ff84f760ea2
  Platform:
    osname=linux
    osvers=4.4.0-146-generic
    archname=x86_64-linux
    uname='linux fozzie 4.4.0-146-generic #172~14.04.1-ubuntu smp fri apr 5 16:51:29 utc 2019 x86_64 x86_64 x86_64 gnulinux '
    config_args='-des -Dusedevel'
    hint=previous
    useposix=true
    d_sigaction=define
    useithreads=undef
    usemultiplicity=undef
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
    bincompat5005=undef
  Compiler:
    cc='cc'
    ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
    optimize='-O2'
    cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
    ccversion=''
    gccversion='4.8.4'
    gccosandvers=''
    intsize=4
    longsize=8
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=16
    longdblkind=3
    ivtype='long'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='off_t'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='cc'
    ldflags =' -fstack-protector -L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed /usr/include/x86_64-linux-gnu /usr/lib
    libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    libc=libc-2.19.so
    so=so
    useshrplib=false
    libperl=libperl.a
    gnulibc_version='2.19'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags='-Wl,-E'
    cccdlflags='-fPIC'
    lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'

Locally applied patches:
    44f58ffee6a6e924a381d9c1a64644811ec5323e
    f3ff56ad41170c41079f26ae34085c91ce33bb6a
    6d4abcdaf9a79aa74fdfd074c75d8015725cfb72

---
@INC for perl 5.31.1:
    lib
    /usr/local/lib/perl5/site_perl/5.31.1/x86_64-linux
    /usr/local/lib/perl5/site_perl/5.31.1
    /usr/local/lib/perl5/5.31.1/x86_64-linux
    /usr/local/lib/perl5/5.31.1

---
Environment for perl 5.31.1:
    HOME=/home/smylers
    LANG=en_GB.utf8
    LANGUAGE=en_GB:en
    LC_COLLATE=C
    LD_LIBRARY_PATH=/home/smylers/pending/Perl/perl
    LOGDIR (unset)
    PATH=/home/smylers/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/games
    PERL_BADLANG (unset)
    PERL_CPANM_OPT=--sudo --prompt
    SHELL=/bin/bash

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About