]> Sergey Matveev's repositories - public-inbox.git/commit
ds: remove fields.pm usage
authorEric Wong <e@yhbt.net>
Sat, 27 Jun 2020 10:03:38 +0000 (10:03 +0000)
committerEric Wong <e@yhbt.net>
Sun, 28 Jun 2020 22:27:15 +0000 (22:27 +0000)
commit94096cab6cd5e00c8a36a4a2667bdb9acf43d01f
tree791b61b5e115e6ca0835a4f55445795b0d766dc1
parent58c0333adbdd9f5f82309cb6eef3c379f0ff064e
ds: remove fields.pm usage

Since the removal of pseudo-hash support in Perl 5.10, the
"fields" module no longer provides the space or speed benefits
it did in 5.8.  It also does not allow for compile-time checks,
only run-time checks.

To me, the extra developer overhead in maintaining "use fields"
args has become a hassle.  None of our non-DS-related code uses
fields.pm, nor do any of our current dependencies.  In fact,
Danga::Socket (which DS was originally forked from) and its
subclasses are the only fields.pm users I've ever encountered in
the wild.  Removing fields may make our code more approachable
to other Perl hackers.

So stop using fields.pm and locked hashes, but continue to
document what fields do for non-trivial classes.
13 files changed:
lib/PublicInbox/DS.pm
lib/PublicInbox/DirIdle.pm
lib/PublicInbox/GitAsyncCat.pm
lib/PublicInbox/HTTP.pm
lib/PublicInbox/HTTPD/Async.pm
lib/PublicInbox/IMAP.pm
lib/PublicInbox/InboxIdle.pm
lib/PublicInbox/Listener.pm
lib/PublicInbox/NNTP.pm
lib/PublicInbox/NNTPdeflate.pm
lib/PublicInbox/ParentPipe.pm
lib/PublicInbox/Sigfd.pm
xt/mem-imapd-tls.t