Hello community,

here is the log from the commit of package perl-List-SomeUtils for 
openSUSE:Factory checked in at 2017-08-19 10:55:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-List-SomeUtils (Old)
 and      /work/SRC/openSUSE:Factory/.perl-List-SomeUtils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-List-SomeUtils"

Sat Aug 19 10:55:08 2017 rev:4 rq:516819 version:0.56

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-List-SomeUtils/perl-List-SomeUtils.changes  
2017-06-17 10:21:16.470265175 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-List-SomeUtils.new/perl-List-SomeUtils.changes 
    2017-08-19 10:55:09.499110155 +0200
@@ -1,0 +2,13 @@
+Thu Aug  3 05:43:00 UTC 2017 - [email protected]
+
+- updated to 0.56
+   see /usr/share/doc/packages/perl-List-SomeUtils/Changes
+
+  0.56     2017-07-22
+      - Make sure we depend on the latest LSU::XS if the system support XS.
+  
+  0.55     2017-07-22
+      - Fixed incorrect comments in doc examples for uniq().
+      - Added a new function, mode(), requested by Jerrad Pierce. GH #2.
+
+-------------------------------------------------------------------

Old:
----
  List-SomeUtils-0.54.tar.gz

New:
----
  List-SomeUtils-0.56.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-List-SomeUtils.spec ++++++
--- /var/tmp/diff_new_pack.a5kPyM/_old  2017-08-19 10:55:10.346990605 +0200
+++ /var/tmp/diff_new_pack.a5kPyM/_new  2017-08-19 10:55:10.350990041 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           perl-List-SomeUtils
-Version:        0.54
+Version:        0.56
 Release:        0
 %define cpan_name List-SomeUtils
 Summary:        Provide the stuff missing in List::Util
@@ -30,11 +30,11 @@
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  perl
 BuildRequires:  perl-macros
-BuildRequires:  perl(List::SomeUtils::XS) >= 0.52
+BuildRequires:  perl(List::SomeUtils::XS) >= 0.54
 BuildRequires:  perl(Module::Implementation)
 BuildRequires:  perl(Test::LeakTrace)
 BuildRequires:  perl(Test::More) >= 0.96
-Requires:       perl(List::SomeUtils::XS) >= 0.52
+Requires:       perl(List::SomeUtils::XS) >= 0.54
 Requires:       perl(Module::Implementation)
 %{perl_requires}
 

++++++ List-SomeUtils-0.54.tar.gz -> List-SomeUtils-0.56.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/List-SomeUtils-0.54/Changes 
new/List-SomeUtils-0.56/Changes
--- old/List-SomeUtils-0.54/Changes     2017-06-01 22:03:43.000000000 +0200
+++ new/List-SomeUtils-0.56/Changes     2017-07-22 19:28:36.000000000 +0200
@@ -1,5 +1,12 @@
 Revision history for Perl extension List-SomeUtils
 
+0.56     2017-07-22
+    - Make sure we depend on the latest LSU::XS if the system support XS.
+
+0.55     2017-07-22
+    - Fixed incorrect comments in doc examples for uniq().
+    - Added a new function, mode(), requested by Jerrad Pierce. GH #2.
+
 0.54     2017-06-01
     - Moved issue tracking to GitHub.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/List-SomeUtils-0.54/MANIFEST 
new/List-SomeUtils-0.56/MANIFEST
--- old/List-SomeUtils-0.54/MANIFEST    2017-06-01 22:03:43.000000000 +0200
+++ new/List-SomeUtils-0.56/MANIFEST    2017-07-22 19:28:36.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest 
v6.009.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest 
v6.010.
 CONTRIBUTING.md
 Changes
 INSTALL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/List-SomeUtils-0.54/META.json 
new/List-SomeUtils-0.56/META.json
--- old/List-SomeUtils-0.54/META.json   2017-06-01 22:03:43.000000000 +0200
+++ new/List-SomeUtils-0.56/META.json   2017-07-22 19:28:36.000000000 +0200
@@ -7,7 +7,7 @@
       "Dave Rolsky <[email protected]>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "Dist::Zilla version 6.009, CPAN::Meta::Converter version 
2.150010",
+   "generated_by" : "Dist::Zilla version 6.010, CPAN::Meta::Converter version 
2.150010",
    "license" : [
       "perl_5"
    ],
@@ -61,6 +61,7 @@
          "requires" : {
             "Carp" : "0",
             "Exporter" : "0",
+            "List::Util" : "0",
             "Module::Implementation" : "0",
             "perl" : "5.006",
             "strict" : "0",
@@ -75,6 +76,8 @@
          "requires" : {
             "ExtUtils::MakeMaker" : "0",
             "File::Spec" : "0",
+            "Scalar::Util" : "0",
+            "Storable" : "0",
             "Test::Builder::Module" : "0",
             "Test::LeakTrace" : "0",
             "Test::More" : "0.96",
@@ -88,11 +91,11 @@
    "provides" : {
       "List::SomeUtils" : {
          "file" : "lib/List/SomeUtils.pm",
-         "version" : "0.54"
+         "version" : "0.56"
       },
       "List::SomeUtils::PP" : {
          "file" : "lib/List/SomeUtils/PP.pm",
-         "version" : "0.54"
+         "version" : "0.56"
       }
    },
    "release_status" : "stable",
@@ -107,7 +110,7 @@
          "web" : "https://github.com/houseabsolute/List-SomeUtils";
       }
    },
-   "version" : "0.54",
+   "version" : "0.56",
    "x_Dist_Zilla" : {
       "perl" : {
          "version" : "5.024001"
@@ -121,7 +124,7 @@
                }
             },
             "name" : "@DROLSKY/MakeMaker",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::GatherDir",
@@ -151,27 +154,27 @@
          {
             "class" : "Dist::Zilla::Plugin::ManifestSkip",
             "name" : "@DROLSKY/ManifestSkip",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
             "name" : "@DROLSKY/License",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExecDir",
             "name" : "@DROLSKY/ExecDir",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::ShareDir",
             "name" : "@DROLSKY/ShareDir",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
             "name" : "@DROLSKY/Manifest",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckVersionIncrement",
@@ -181,22 +184,22 @@
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
             "name" : "@DROLSKY/TestRelease",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
             "name" : "@DROLSKY/ConfirmRelease",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
             "name" : "@DROLSKY/UploadToCPAN",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::VersionFromMainModule",
             "name" : "@DROLSKY/VersionFromMainModule",
-            "version" : "0.02"
+            "version" : "0.03"
          },
          {
             "class" : "Dist::Zilla::Plugin::Authority",
@@ -206,7 +209,7 @@
          {
             "class" : "Dist::Zilla::Plugin::AutoPrereqs",
             "name" : "@DROLSKY/AutoPrereqs",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::CopyFilesFromBuild",
@@ -231,7 +234,7 @@
          {
             "class" : "Dist::Zilla::Plugin::MetaResources",
             "name" : "@DROLSKY/MetaResources",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaProvides::Package",
@@ -241,13 +244,13 @@
                      {
                         "class" : "Dist::Zilla::Plugin::FinderCode",
                         "name" : 
"@DROLSKY/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
-                        "version" : "6.009"
+                        "version" : "6.010"
                      }
                   ],
                   "include_underscores" : 0
                },
                "Dist::Zilla::Role::MetaProvider::Provider" : {
-                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : 
"2.002003",
+                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : 
"2.002004",
                   "inherit_missing" : 1,
                   "inherit_version" : 1,
                   "meta_noindex" : 1
@@ -268,22 +271,22 @@
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "@DROLSKY/MetaConfig",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "@DROLSKY/MetaJSON",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
             "name" : "@DROLSKY/MetaYAML",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::NextRelease",
             "name" : "@DROLSKY/NextRelease",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -294,7 +297,7 @@
                }
             },
             "name" : "@DROLSKY/Test::More with subtest",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -305,7 +308,7 @@
                }
             },
             "name" : "@DROLSKY/Modules for use with tidyall",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -316,7 +319,7 @@
                }
             },
             "name" : "@DROLSKY/Test::Version which fixes 
https://github.com/plicease/Test-Version/issues/7";,
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::PromptIfStale",
@@ -475,7 +478,7 @@
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
             "name" : "@DROLSKY/PodSyntaxTests",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::RunExtraTests",
@@ -796,7 +799,7 @@
          {
             "class" : "Dist::Zilla::Plugin::CPANFile",
             "name" : "@DROLSKY/CPANFile",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::DROLSKY::License",
@@ -926,7 +929,7 @@
                   "branch" : null,
                   "changelog" : "Changes",
                   "signed" : 0,
-                  "tag" : "v0.54",
+                  "tag" : "v0.56",
                   "tag_format" : "v%v",
                   "tag_message" : "v%v"
                },
@@ -1027,7 +1030,7 @@
                }
             },
             "name" : "DevelopRequires",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::DynamicPrereqs",
@@ -1043,57 +1046,57 @@
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":IncModules",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExtraTestFiles",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":PerlExecFiles",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":MainModule",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":AllFiles",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":NoFiles",
-            "version" : "6.009"
+            "version" : "6.010"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : 
"@DROLSKY/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
-            "version" : "6.009"
+            "version" : "6.010"
          }
       ],
       "zilla" : {
@@ -1101,7 +1104,7 @@
          "config" : {
             "is_trial" : 0
          },
-         "version" : "6.009"
+         "version" : "6.010"
       }
    },
    "x_authority" : "cpan:DROLSKY",
@@ -1119,6 +1122,6 @@
       "Tokuhiro Matsuno <[email protected]>",
       "Tom Wyant <[email protected]>"
    ],
-   "x_serialization_backend" : "Cpanel::JSON::XS version 3.0229"
+   "x_serialization_backend" : "Cpanel::JSON::XS version 3.0233"
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/List-SomeUtils-0.54/META.yml 
new/List-SomeUtils-0.56/META.yml
--- old/List-SomeUtils-0.54/META.yml    2017-06-01 22:03:43.000000000 +0200
+++ new/List-SomeUtils-0.56/META.yml    2017-07-22 19:28:36.000000000 +0200
@@ -8,6 +8,8 @@
 build_requires:
   ExtUtils::MakeMaker: '0'
   File::Spec: '0'
+  Scalar::Util: '0'
+  Storable: '0'
   Test::Builder::Module: '0'
   Test::LeakTrace: '0'
   Test::More: '0.96'
@@ -19,7 +21,7 @@
   ExtUtils::MakeMaker: '0'
   Text::ParseWords: '0'
 dynamic_config: 1
-generated_by: 'Dist::Zilla version 6.009, CPAN::Meta::Converter version 
2.150010'
+generated_by: 'Dist::Zilla version 6.010, CPAN::Meta::Converter version 
2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -28,13 +30,14 @@
 provides:
   List::SomeUtils:
     file: lib/List/SomeUtils.pm
-    version: '0.54'
+    version: '0.56'
   List::SomeUtils::PP:
     file: lib/List/SomeUtils/PP.pm
-    version: '0.54'
+    version: '0.56'
 requires:
   Carp: '0'
   Exporter: '0'
+  List::Util: '0'
   Module::Implementation: '0'
   perl: '5.006'
   strict: '0'
@@ -44,7 +47,7 @@
   bugtracker: https://github.com/houseabsolute/List-SomeUtils/issues
   homepage: http://metacpan.org/release/List-SomeUtils
   repository: git://github.com/houseabsolute/List-SomeUtils.git
-version: '0.54'
+version: '0.56'
 x_Dist_Zilla:
   perl:
     version: '5.024001'
@@ -55,7 +58,7 @@
         Dist::Zilla::Role::TestRunner:
           default_jobs: 1
       name: '@DROLSKY/MakeMaker'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::Git::GatherDir
       config:
@@ -79,23 +82,23 @@
     -
       class: Dist::Zilla::Plugin::ManifestSkip
       name: '@DROLSKY/ManifestSkip'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::License
       name: '@DROLSKY/License'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::ExecDir
       name: '@DROLSKY/ExecDir'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::ShareDir
       name: '@DROLSKY/ShareDir'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::Manifest
       name: '@DROLSKY/Manifest'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::CheckVersionIncrement
       name: '@DROLSKY/CheckVersionIncrement'
@@ -103,19 +106,19 @@
     -
       class: Dist::Zilla::Plugin::TestRelease
       name: '@DROLSKY/TestRelease'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
       name: '@DROLSKY/ConfirmRelease'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
       name: '@DROLSKY/UploadToCPAN'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::VersionFromMainModule
       name: '@DROLSKY/VersionFromMainModule'
-      version: '0.02'
+      version: '0.03'
     -
       class: Dist::Zilla::Plugin::Authority
       name: '@DROLSKY/Authority'
@@ -123,7 +126,7 @@
     -
       class: Dist::Zilla::Plugin::AutoPrereqs
       name: '@DROLSKY/AutoPrereqs'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::CopyFilesFromBuild
       name: '@DROLSKY/CopyFilesFromBuild'
@@ -142,7 +145,7 @@
     -
       class: Dist::Zilla::Plugin::MetaResources
       name: '@DROLSKY/MetaResources'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::MetaProvides::Package
       config:
@@ -151,10 +154,10 @@
             -
               class: Dist::Zilla::Plugin::FinderCode
               name: '@DROLSKY/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
-              version: '6.009'
+              version: '6.010'
           include_underscores: 0
         Dist::Zilla::Role::MetaProvider::Provider:
-          $Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002003'
+          $Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002004'
           inherit_missing: '1'
           inherit_version: '1'
           meta_noindex: '1'
@@ -170,19 +173,19 @@
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: '@DROLSKY/MetaConfig'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: '@DROLSKY/MetaJSON'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::MetaYAML
       name: '@DROLSKY/MetaYAML'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::NextRelease
       name: '@DROLSKY/NextRelease'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -190,7 +193,7 @@
           phase: test
           type: requires
       name: '@DROLSKY/Test::More with subtest'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -198,7 +201,7 @@
           phase: develop
           type: requires
       name: '@DROLSKY/Modules for use with tidyall'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -206,7 +209,7 @@
           phase: develop
           type: requires
       name: '@DROLSKY/Test::Version which fixes 
https://github.com/plicease/Test-Version/issues/7'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::PromptIfStale
       config:
@@ -350,7 +353,7 @@
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
       name: '@DROLSKY/PodSyntaxTests'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::RunExtraTests
       config:
@@ -598,7 +601,7 @@
     -
       class: Dist::Zilla::Plugin::CPANFile
       name: '@DROLSKY/CPANFile'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::DROLSKY::License
       name: '@DROLSKY/DROLSKY::License'
@@ -698,7 +701,7 @@
           branch: ~
           changelog: Changes
           signed: 0
-          tag: v0.54
+          tag: v0.56
           tag_format: v%v
           tag_message: v%v
         Dist::Zilla::Role::Git::Repo:
@@ -770,7 +773,7 @@
           phase: develop
           type: requires
       name: DevelopRequires
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::DynamicPrereqs
       config:
@@ -782,52 +785,52 @@
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':IncModules'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExtraTestFiles'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':PerlExecFiles'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':MainModule'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':AllFiles'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':NoFiles'
-      version: '6.009'
+      version: '6.010'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: '@DROLSKY/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
-      version: '6.009'
+      version: '6.010'
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
       is_trial: '0'
-    version: '6.009'
+    version: '6.010'
 x_authority: cpan:DROLSKY
 x_contributors:
   - 'Aaron Crane <[email protected]>'
@@ -842,4 +845,4 @@
   - 'Toby Inkster <[email protected]>'
   - 'Tokuhiro Matsuno <[email protected]>'
   - 'Tom Wyant <[email protected]>'
-x_serialization_backend: 'YAML::Tiny version 1.69'
+x_serialization_backend: 'YAML::Tiny version 1.70'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/List-SomeUtils-0.54/Makefile.PL 
new/List-SomeUtils-0.56/Makefile.PL
--- old/List-SomeUtils-0.54/Makefile.PL 2017-06-01 22:03:43.000000000 +0200
+++ new/List-SomeUtils-0.56/Makefile.PL 2017-07-22 19:28:36.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker 
v6.009.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker 
v6.010.
 use strict;
 use warnings;
 
@@ -20,6 +20,7 @@
   "PREREQ_PM" => {
     "Carp" => 0,
     "Exporter" => 0,
+    "List::Util" => 0,
     "Module::Implementation" => 0,
     "strict" => 0,
     "vars" => 0,
@@ -28,6 +29,8 @@
   "TEST_REQUIRES" => {
     "ExtUtils::MakeMaker" => 0,
     "File::Spec" => 0,
+    "Scalar::Util" => 0,
+    "Storable" => 0,
     "Test::Builder::Module" => 0,
     "Test::LeakTrace" => 0,
     "Test::More" => "0.96",
@@ -36,7 +39,7 @@
     "lib" => 0,
     "overload" => 0
   },
-  "VERSION" => "0.54",
+  "VERSION" => "0.56",
   "test" => {
     "TESTS" => "t/*.t"
   }
@@ -48,7 +51,10 @@
   "Exporter" => 0,
   "ExtUtils::MakeMaker" => 0,
   "File::Spec" => 0,
+  "List::Util" => 0,
   "Module::Implementation" => 0,
+  "Scalar::Util" => 0,
+  "Storable" => 0,
   "Test::Builder::Module" => 0,
   "Test::LeakTrace" => 0,
   "Test::More" => "0.96",
@@ -62,7 +68,7 @@
 );
 
 # inserted by Dist::Zilla::Plugin::DynamicPrereqs 0.033
-requires('List::SomeUtils::XS', '0.52') if !want_pp() and can_xs();
+requires('List::SomeUtils::XS', '0.54') if !want_pp() and can_xs();
 
 
 unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/List-SomeUtils-0.54/README.md 
new/List-SomeUtils-0.56/README.md
--- old/List-SomeUtils-0.54/README.md   2017-06-01 22:03:43.000000000 +0200
+++ new/List-SomeUtils-0.56/README.md   2017-07-22 19:28:36.000000000 +0200
@@ -4,7 +4,7 @@
 
 # VERSION
 
-version 0.54
+version 0.56
 
 # SYNOPSIS
 
@@ -33,15 +33,15 @@
 # WHY DOES THIS MODULE EXIST?
 
 You might wonder why this module exists when we already have
-[List::MoreUtils](https://metacpan.org/pod/List::MoreUtils). In fact, this 
module is the same code as is found in LMU
-with no significant changes. However, the LMU distribution depends on several
-modules for configuration (to run the Makefile.PL) that some folks in the Perl
-community don't think are appropriate for a module high upstream in the CPAN
-river.
+[List::MoreUtils](https://metacpan.org/pod/List::MoreUtils). In fact, this 
module is (nearly) the same code as is found
+in LMU with no significant changes. However, the LMU distribution depends on
+several modules for configuration (to run the Makefile.PL) that some folks in
+the Perl community don't think are appropriate for a module high upstream in
+the CPAN river.
 
 I (Dave Rolsky) don't have a strong opinion on this, but I _do_ like the
 functions provided by LMU, and I'm tired of getting patches and PRs to remove
-it from my code.
+LMU from my code.
 
 This distribution exists to let me use the functionality I like without having
 to get into tiring arguments about issues I don't really care about.
@@ -265,9 +265,9 @@
     my $x = uniq 1, 1, 2, 2, 3, 5, 3, 4; # returns 5
     # returns "Mike", "Michael", "Richard", "Rick"
     my @n = distinct "Mike", "Michael", "Richard", "Rick", "Michael", "Rick"
-    # returns '', 'S1', A5' and complains about "Use of uninitialized value"
+    # returns '', undef, 'S1', A5'
     my @s = distinct '', undef, 'S1', 'A5'
-    # returns undef, 'S1', A5' and complains about "Use of uninitialized value"
+    # returns '', undef, 'S1', A5'
     my @w = uniq undef, '', 'S1', 'A5'
 
 `distinct` is an alias for `uniq`.
@@ -581,6 +581,19 @@
 fairly big in order for `minmax` to win over a naive implementation. This
 limitation does not apply to the XS version.
 
+### mode LIST
+
+Calculates the most common items in the list and returns them as a list. This
+is effectively done by string comparisons, so references will be
+stringified. If they implement string overloading, this will be used.
+
+If more than one item appears the same number of times in the list, all such
+items will be returned. For example, the mode of a unique list is the list
+itself.
+
+This function **always** returns a list. That means that in scalar context you
+get a count indicating the number of modes in the list.
+
 # MAINTENANCE
 
 The maintenance goal is to preserve the documented semantics of the API;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/List-SomeUtils-0.54/cpanfile 
new/List-SomeUtils-0.56/cpanfile
--- old/List-SomeUtils-0.54/cpanfile    2017-06-01 22:03:43.000000000 +0200
+++ new/List-SomeUtils-0.56/cpanfile    2017-07-22 19:28:36.000000000 +0200
@@ -1,5 +1,6 @@
 requires "Carp" => "0";
 requires "Exporter" => "0";
+requires "List::Util" => "0";
 requires "Module::Implementation" => "0";
 requires "perl" => "5.006";
 requires "strict" => "0";
@@ -9,6 +10,8 @@
 on 'test' => sub {
   requires "ExtUtils::MakeMaker" => "0";
   requires "File::Spec" => "0";
+  requires "Scalar::Util" => "0";
+  requires "Storable" => "0";
   requires "Test::Builder::Module" => "0";
   requires "Test::LeakTrace" => "0";
   requires "Test::More" => "0.96";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/List-SomeUtils-0.54/dist.ini 
new/List-SomeUtils-0.56/dist.ini
--- old/List-SomeUtils-0.54/dist.ini    2017-06-01 22:03:43.000000000 +0200
+++ new/List-SomeUtils-0.56/dist.ini    2017-07-22 19:28:36.000000000 +0200
@@ -23,4 +23,4 @@
 
 [DynamicPrereqs]
 :version = 0.029
--body = requires('List::SomeUtils::XS', '0.52') if !want_pp() and can_xs();
+-body = requires('List::SomeUtils::XS', '0.54') if !want_pp() and can_xs();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/List-SomeUtils-0.54/inc/ExtUtils/HasCompiler.pm 
new/List-SomeUtils-0.56/inc/ExtUtils/HasCompiler.pm
--- old/List-SomeUtils-0.54/inc/ExtUtils/HasCompiler.pm 2017-06-01 
22:03:43.000000000 +0200
+++ new/List-SomeUtils-0.56/inc/ExtUtils/HasCompiler.pm 2017-07-22 
19:28:36.000000000 +0200
@@ -1,10 +1,10 @@
 package ExtUtils::HasCompiler;
-$ExtUtils::HasCompiler::VERSION = '0.017';
+$ExtUtils::HasCompiler::VERSION = '0.021';
 use strict;
 use warnings;
 
 use base 'Exporter';
-our @EXPORT_OK = qw/can_compile_loadable_object/;
+our @EXPORT_OK = qw/can_compile_loadable_object can_compile_static_library 
can_compile_extension/;
 our %EXPORT_TAGS = (all => \@EXPORT_OK);
 
 use Config;
@@ -75,23 +75,14 @@
 
        my ($source_handle, $source_name) = tempfile('TESTXXXX', DIR => 
$tempdir, SUFFIX => '.c', UNLINK => 1);
        my $basename = basename($source_name, '.c');
-
-       my $shortname = '_Loadable' . $counter++;
-       my $package = "ExtUtils::HasCompiler::$shortname";
-       printf $source_handle $loadable_object_format, $basename, $package or 
do { carp "Couldn't write to $source_name: $!"; return };
-       close $source_handle or do { carp "Couldn't close $source_name: $!"; 
return };
-
        my $abs_basename = catfile($tempdir, $basename);
-       my $object_file = $abs_basename . $config->get('_o');
-       my $loadable_object = $abs_basename . '.' . $config->get('dlext');
-       my $incdir = catdir($config->get('archlibexp'), 'CORE');
 
-       my ($cc, $ccflags, $optimize, $cccdlflags, $ld, $ldflags, $lddlflags, 
$libperl, $perllibs) = map { $config->get($_) } qw/cc ccflags optimize 
cccdlflags ld ldflags lddlflags libperl perllibs/;
+       my ($cc, $ccflags, $optimize, $cccdlflags, $ld, $ldflags, $lddlflags, 
$libperl, $perllibs, $archlibexp, $_o, $dlext) = map { $config->get($_) } qw/cc 
ccflags optimize cccdlflags ld ldflags lddlflags libperl perllibs archlibexp _o 
dlext/;
+
+       my $incdir = catdir($archlibexp, 'CORE');
+       my $object_file = $abs_basename.$_o;
+       my $loadable_object = "$abs_basename.$dlext";
 
-       if ($prelinking{$^O}) {
-               require ExtUtils::Mksymlists;
-               ExtUtils::Mksymlists::Mksymlists(NAME => $basename, FILE => 
$abs_basename, IMPORTS => {});
-       }
        my @commands;
        if ($^O eq 'MSWin32' && $cc =~ /^cl/) {
                push @commands, qq{$cc $ccflags $cccdlflags $optimize /I 
"$incdir" /c $source_name /Fo$object_file};
@@ -127,6 +118,16 @@
                push @commands, qq{$ld $object_file -o $loadable_object 
$lddlflags @extra};
        }
 
+       if ($prelinking{$^O}) {
+               require ExtUtils::Mksymlists;
+               ExtUtils::Mksymlists::Mksymlists(NAME => $basename, FILE => 
$abs_basename, IMPORTS => {});
+       }
+
+       my $shortname = '_Loadable' . $counter++;
+       my $package = "ExtUtils::HasCompiler::$shortname";
+       printf $source_handle $loadable_object_format, $basename, $package or 
do { carp "Couldn't write to $source_name: $!"; return };
+       close $source_handle or do { carp "Couldn't close $source_name: $!"; 
return };
+
        for my $command (@commands) {
                print $output "$command\n" if not $args{quiet};
                system $command and do { carp "Couldn't execute $command: $!"; 
return };
@@ -152,6 +153,54 @@
        }
 }
 
+my %static_unsupported_on = map { $_ => 1 } qw/VMS aix MSWin32 cygwin/;
+sub can_compile_static_library {
+       my %args = @_;
+
+       my $output = $args{output} || \*STDOUT;
+
+       my $config = $args{config} || 'ExtUtils::HasCompiler::Config';
+       return if $config->get('useshrplib') eq 'true';
+
+       my ($source_handle, $source_name) = tempfile('TESTXXXX', DIR => 
$tempdir, SUFFIX => '.c', UNLINK => 1);
+       my $basename = basename($source_name, '.c');
+       my $abs_basename = catfile($tempdir, $basename);
+
+       my ($cc, $ccflags, $optimize, $ar, $full_ar, $ranlib, $archlibexp, $_o, 
$lib_ext) = map { $config->get($_) } qw/cc ccflags optimize ar full_ar ranlib 
archlibexp _o lib_ext/;
+       my $incdir = catdir($archlibexp, 'CORE');
+       my $object_file = "$abs_basename$_o";
+       my $static_library = $abs_basename.$lib_ext;
+
+       my @commands;
+       if ($static_unsupported_on{$^O}) {
+               return;
+       }
+       else {
+               my $my_ar = length $full_ar ? $full_ar : $ar;
+               push @commands, qq{$cc $ccflags $optimize "-I$incdir" -c 
$source_name -o $object_file};
+               push @commands, qq{$my_ar cr $static_library $object_file};
+               push @commands, qq{$ranlib $static_library} if $ranlib ne ':';
+       }
+
+       my $shortname = '_Loadable' . $counter++;
+       my $package = "ExtUtils::HasCompiler::$shortname";
+       printf $source_handle $loadable_object_format, $basename, $package or 
do { carp "Couldn't write to $source_name: $!"; return };
+       close $source_handle or do { carp "Couldn't close $source_name: $!"; 
return };
+
+       for my $command (@commands) {
+               print $output "$command\n" if not $args{quiet};
+               system $command and do { carp "Couldn't execute $command: $!"; 
return };
+       }
+       return 1;
+}
+
+sub can_compile_extension {
+       my %args = @_;
+       $args{config} ||= 'ExtUtils::HasCompiler::Config';
+       my $linktype = $args{linktype} || ($args{config}->get('usedl') ? 
'dynamic' : 'static');
+       return $linktype eq 'static' ? can_compile_static_library(%args) : 
can_compile_loadable_object(%args);
+}
+
 sub ExtUtils::HasCompiler::Config::get {
        my (undef, $key) = @_;
        return $ENV{uc $key} || $Config{$key};
@@ -173,7 +222,17 @@
 
 =head1 VERSION
 
-version 0.017
+version 0.021
+
+=head1 SYNOPSIS
+
+ use ExtUtils::HasCompiler 'can_compile_extension';
+ if (can_compile_extension()) {
+   ...
+ }
+ else {
+   ...
+ }
 
 =head1 DESCRIPTION
 
@@ -203,6 +262,34 @@
 
 =back
 
+=head2 can_compile_static_library(%opts)
+
+This checks if the system can compile and link a perl static library. It does 
not check it it can compile a new perl with it. It may take the following 
options:
+
+=over 4
+
+=item * quiet
+
+Do not output the executed compilation commands.
+
+=item * config
+
+An L<ExtUtils::Config|ExtUtils::Config> (compatible) object for configuration.
+
+=back
+
+=head2 can_compile_extension(%opts)
+
+This will call either C<can_compile_loadable_object>, or 
C<can_compile_static_library>, depending on which is the default on your 
configuration. In addition to the arguments listed above, it can take one more 
optional argument:
+
+=over 4
+
+=item * linktype
+
+This will force the linktype to be either static or dynamic. Dynamic 
compilation on a static perl won't work, but static libraries can be viable on 
a dynamic perl.
+
+=back
+
 =head1 AUTHOR
 
 Leon Timmermans <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/List-SomeUtils-0.54/lib/List/SomeUtils/PP.pm 
new/List-SomeUtils-0.56/lib/List/SomeUtils/PP.pm
--- old/List-SomeUtils-0.54/lib/List/SomeUtils/PP.pm    2017-06-01 
22:03:43.000000000 +0200
+++ new/List-SomeUtils-0.56/lib/List/SomeUtils/PP.pm    2017-07-22 
19:28:36.000000000 +0200
@@ -4,7 +4,9 @@
 use strict;
 use warnings;
 
-our $VERSION = '0.54';
+use List::Util qw( max );
+
+our $VERSION = '0.56';
 
 sub any (&@)
 {
@@ -543,6 +545,13 @@
       map { [ $_, scalar( $code->() ) ] } @list;
 }
 
+sub mode (@) {
+    my %v;
+    $v{$_}++ for @_;
+    my $max = max( values %v );
+    return grep { $v{$_} == $max } keys %v;
+}
+
 1;
 
 # ABSTRACT: Pure Perl implementation for List::SomeUtils
@@ -559,7 +568,7 @@
 
 =head1 VERSION
 
-version 0.54
+version 0.56
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/List-SomeUtils-0.54/lib/List/SomeUtils.pm 
new/List-SomeUtils-0.56/lib/List/SomeUtils.pm
--- old/List-SomeUtils-0.54/lib/List/SomeUtils.pm       2017-06-01 
22:03:43.000000000 +0200
+++ new/List-SomeUtils-0.56/lib/List/SomeUtils.pm       2017-07-22 
19:28:36.000000000 +0200
@@ -4,29 +4,56 @@
 use strict;
 use warnings;
 
-our $VERSION = '0.54';
+our $VERSION = '0.56';
 
 use Exporter qw( import );
 
 use Module::Implementation;
 
 my @subs = qw(
-    any all none notall
-    true false
-    firstidx lastidx
-    insert_after insert_after_string
-    apply indexes
-    after after_incl before before_incl
-    firstval lastval
-    each_array each_arrayref
-    pairwise natatime
-    mesh uniq
-    minmax part
+    after
+    after_incl
+    all
+    all_u
+    any
+    any_u
+    apply
+    before
+    before_incl
     bsearch
-    sort_by nsort_by
-    one any_u all_u none_u notall_u one_u
-    firstres onlyidx onlyval onlyres lastres
-    singleton bsearchidx
+    bsearchidx
+    each_array
+    each_arrayref
+    false
+    firstidx
+    firstres
+    firstval
+    indexes
+    insert_after
+    insert_after_string
+    lastidx
+    lastres
+    lastval
+    mesh
+    minmax
+    mode
+    natatime
+    none
+    none_u
+    notall
+    notall_u
+    nsort_by
+    one
+    one_u
+    onlyidx
+    onlyres
+    onlyval
+    pairwise
+    part
+    singleton
+    sort_by
+    true
+    uniq
 );
 
 my %aliases = (
@@ -83,7 +110,7 @@
 
 =head1 VERSION
 
-version 0.54
+version 0.56
 
 =head1 SYNOPSIS
 
@@ -112,15 +139,15 @@
 =head1 WHY DOES THIS MODULE EXIST?
 
 You might wonder why this module exists when we already have
-L<List::MoreUtils>. In fact, this module is the same code as is found in LMU
-with no significant changes. However, the LMU distribution depends on several
-modules for configuration (to run the Makefile.PL) that some folks in the Perl
-community don't think are appropriate for a module high upstream in the CPAN
-river.
+L<List::MoreUtils>. In fact, this module is (nearly) the same code as is found
+in LMU with no significant changes. However, the LMU distribution depends on
+several modules for configuration (to run the Makefile.PL) that some folks in
+the Perl community don't think are appropriate for a module high upstream in
+the CPAN river.
 
 I (Dave Rolsky) don't have a strong opinion on this, but I I<do> like the
 functions provided by LMU, and I'm tired of getting patches and PRs to remove
-it from my code.
+LMU from my code.
 
 This distribution exists to let me use the functionality I like without having
 to get into tiring arguments about issues I don't really care about.
@@ -353,9 +380,9 @@
   my $x = uniq 1, 1, 2, 2, 3, 5, 3, 4; # returns 5
   # returns "Mike", "Michael", "Richard", "Rick"
   my @n = distinct "Mike", "Michael", "Richard", "Rick", "Michael", "Rick"
-  # returns '', 'S1', A5' and complains about "Use of uninitialized value"
+  # returns '', undef, 'S1', A5'
   my @s = distinct '', undef, 'S1', 'A5'
-  # returns undef, 'S1', A5' and complains about "Use of uninitialized value"
+  # returns '', undef, 'S1', A5'
   my @w = uniq undef, '', 'S1', 'A5'
 
 C<distinct> is an alias for C<uniq>.
@@ -669,6 +696,19 @@
 fairly big in order for C<minmax> to win over a naive implementation. This
 limitation does not apply to the XS version.
 
+=head3 mode LIST
+
+Calculates the most common items in the list and returns them as a list. This
+is effectively done by string comparisons, so references will be
+stringified. If they implement string overloading, this will be used.
+
+If more than one item appears the same number of times in the list, all such
+items will be returned. For example, the mode of a unique list is the list
+itself.
+
+This function B<always> returns a list. That means that in scalar context you
+get a count indicating the number of modes in the list.
+
 =head1 MAINTENANCE
 
 The maintenance goal is to preserve the documented semantics of the API;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/List-SomeUtils-0.54/t/00-report-prereqs.dd 
new/List-SomeUtils-0.56/t/00-report-prereqs.dd
--- old/List-SomeUtils-0.54/t/00-report-prereqs.dd      2017-06-01 
22:03:43.000000000 +0200
+++ new/List-SomeUtils-0.56/t/00-report-prereqs.dd      2017-07-22 
19:28:36.000000000 +0200
@@ -43,6 +43,7 @@
                       'requires' => {
                                       'Carp' => '0',
                                       'Exporter' => '0',
+                                      'List::Util' => '0',
                                       'Module::Implementation' => '0',
                                       'perl' => '5.006',
                                       'strict' => '0',
@@ -57,6 +58,8 @@
                    'requires' => {
                                    'ExtUtils::MakeMaker' => '0',
                                    'File::Spec' => '0',
+                                   'Scalar::Util' => '0',
+                                   'Storable' => '0',
                                    'Test::Builder::Module' => '0',
                                    'Test::LeakTrace' => '0',
                                    'Test::More' => '0.96',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/List-SomeUtils-0.54/t/lib/LSU/Test/Functions.pm 
new/List-SomeUtils-0.56/t/lib/LSU/Test/Functions.pm
--- old/List-SomeUtils-0.54/t/lib/LSU/Test/Functions.pm 2017-06-01 
22:03:43.000000000 +0200
+++ new/List-SomeUtils-0.56/t/lib/LSU/Test/Functions.pm 2017-07-22 
19:28:36.000000000 +0200
@@ -3,61 +3,65 @@
 use strict;
 use warnings;
 
-use Test::More;
-use Test::LSU;
-use Tie::Array ();
-use List::SomeUtils ':all';
-
 use Config;
+use List::SomeUtils ':all';
+use Scalar::Util qw( weaken );
+use Storable qw( freeze );
+use Tie::Array ();
 
-my $have_scalar_util;
-eval "use Scalar::Util qw(); \$have_scalar_util = 1;";
-
-eval "use Storable qw();";
-$@ or Storable->import(qw(freeze));
+use Test::More 0.96;
+use Test::LSU;
 
 # Run all tests
 sub run_tests {
-    test_any();
-    test_all();
-    test_none();
-    test_notall();
-    test_one();
-    test_any_u();
-    test_all_u();
-    test_none_u();
-    test_notall_u();
-    test_one_u();
-    test_true();
-    test_false();
-    test_firstidx();
-    test_lastidx();
-    test_onlyidx();
-    test_insert_after();
-    test_insert_after_string();
-    test_apply();
-    test_indexes();
-    test_before();
-    test_before_incl();
-    test_after();
-    test_after_incl();
-    test_firstval();
-    test_lastval();
-    test_onlyval();
-    test_firstres();
-    test_lastres();
-    test_onlyres();
-    test_each_array();
-    test_pairwise();
-    test_natatime();
-    test_zip();
-    test_mesh();
-    test_uniq();
-    test_singleton();
-    test_part();
-    test_minmax();
-    test_bsearch();
-    test_bsearchidx();
+    for my $export (
+        qw(
+        any
+        all
+        none
+        notall
+        one
+        any_u
+        all_u
+        none_u
+        notall_u
+        one_u
+        true
+        false
+        firstidx
+        lastidx
+        onlyidx
+        insert_after
+        insert_after_string
+        apply
+        indexes
+        before
+        before_incl
+        after
+        after_incl
+        firstval
+        lastval
+        onlyval
+        firstres
+        lastres
+        onlyres
+        each_array
+        pairwise
+        natatime
+        zip
+        mesh
+        uniq
+        singleton
+        part
+        minmax
+        bsearch
+        bsearchidx
+        mode
+        )
+        ) {
+        my $sub = __PACKAGE__->can( 'test_' . $export );
+        subtest( $export, $sub );
+    }
 
     done_testing();
 }
@@ -419,11 +423,10 @@
     $lr and is_deeply( \@o, [ 1, 3, 5 ], "indexes/leak: odd" );
     $lr and is_deeply( \@e, [ 0, 2, 4 ], "indexes/leak: even" );
 
-    if ($have_scalar_util) {
-        my $ref = \( indexes( sub {1}, 123 ) );
-        Scalar::Util::weaken($ref);
-        is( $ref, undef, "weakened away" );
-    }
+    my $ref = \( indexes( sub {1}, 123 ) );
+    weaken($ref);
+    is( $ref, undef, "weakened away" );
+
     is_dying( sub { &indexes( 42, 4711 ); } );
 }
 
@@ -1567,4 +1570,105 @@
     );
 }
 
+sub test_mode {
+    my @list = ( 1 .. 5 );
+    is_deeply(
+        [ sort { $a <=> $b } mode(@list) ],
+        [ sort @list ],
+        'mode of list without repeats is the list itself'
+    );
+    is(
+        scalar mode(@list),
+        5,
+        'mode returns modality in scalar context'
+    );
+
+    @list = ( 1, 1 .. 5 );
+    is_deeply(
+        [ mode(@list) ],
+        [1],
+        'mode of list with one repeat is the repeated item'
+    );
+    is(
+        scalar mode(@list),
+        1,
+        'mode returns modality in scalar context'
+    );
+
+    @list = ( 1, 1 .. 5, 5 );
+    is_deeply(
+        [ sort { $a <=> $b } mode(@list) ],
+        [ 1, 5 ],
+        'mode of bimodal list'
+    );
+    is(
+        scalar mode(@list),
+        2,
+        'mode returns modality in scalar context'
+    );
+
+    @list = ( 1, 1 .. 5, 5, 9, 9 );
+    is_deeply(
+        [ sort { $a <=> $b } mode(@list) ],
+        [ 1, 5, 9 ],
+        'mode of trimodal list'
+    );
+
+    @list = ( 1, 1, 1, 1 .. 5, 5, 9, 9 );
+    is_deeply(
+        [ mode(@list) ],
+        [1],
+        'mode of list with multiple repeats is the most repeated item'
+    );
+
+    @list = ();
+    is_deeply(
+        [ mode() ],
+        [],
+        'mode of empty list is an empty list'
+    );
+    is(
+        scalar mode(@list),
+        0,
+        'mode returns modality in scalar context'
+    );
+
+    @list = qw( a a b c d );
+    is_deeply(
+        [ mode(@list) ],
+        ['a'],
+        'mode of list of strings'
+    );
+
+    my $foo1 = Overloaded->new('foo');
+    my $foo2 = Overloaded->new('foo');
+    my $bar = Overloaded->new('bar');
+
+    @list = ( $foo1, $foo2, $bar );
+    is_deeply(
+        [ sort( mode(@list) ) ],
+        ['foo'],
+        'objects passed to mode are stringified'
+    );
+
+    leak_free_ok(
+        mode => sub {
+            my @mode     = mode(qw( a b c a b a b ));
+            my $modality = mode(qw( a b c a b a b ));
+            @mode     = mode();
+            $modality = mode();
+        }
+    );
+}
+
+{
+    package Overloaded;
+    use overload q{""} => sub { $_[0]->{string} };
+
+    sub new {
+        my $class = shift;
+        return bless { string => shift }, $class;
+    }
+}
+
 1;


Reply via email to