Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: perl-Object-Pad | Distribution: openSUSE Tumbleweed |
Version: 0.819.0 | Vendor: openSUSE |
Release: 1.1 | Build date: Wed Jan 22 22:11:25 2025 |
Group: Unspecified | Build host: reproducible |
Size: 427753 | Source RPM: perl-Object-Pad-0.819.0-1.1.src.rpm |
Packager: http://bugs.opensuse.org | |
Url: https://metacpan.org/release/Object-Pad | |
Summary: Simple syntax for lexical field-based objects |
This module provides a simple syntax for creating object classes, which uses private variables that look like lexicals as object member fields.
Artistic-1.0 OR GPL-1.0-or-later
* Wed Jan 22 2025 Tina Müller <timueller+perl@suse.de> - updated to 0.819.0 (0.819) see /usr/share/doc/packages/perl-Object-Pad/Changes 0.819 2025-01-10 [CHANGES] * Initial experimental attempt to support lexical `my class` syntax * Neater, smaller `hax/` files by squashing out code guarded on versions of Perl before 5.18 0.818 2024-12-23 [BUGFIXES] * Ensure that `method :common` works with the new `OP_ARGELEM` code in the signature handling code (RT158048) 0.817 2024-12-20 [CHANGES] * Initial attempt at supporting an `:abstract` attribute on classes. Similar to roles but much simpler and easier to implement * Much internal reärrangement of the way OP_METHSTART is set up, to hopefully allow more seamless integration with upcoming core perl `faster-signatures` branch work 0.816 2024-11-25 [CHANGES] * Rewrote module introduction documentation, emphasising the relating to core perl 'class' feature and `Feature::Compat::Class` * Added a documentation file, giving a guide to migrating from classical Perl to `Object::Pad` [BUGFIXES] * Fix for t/82devel-mat-dumper-helper.t should require `Devel::MAT` v0.53 or later, in case DMD writes a file in format version 0.6 (RT157189) 0.815 2024-11-13 [CHANGES] * Initial experiment at adding `APPLY` phaser blocks to roles 0.814 2024-09-20 [CHANGES] * Depend on `XS::Parse::Sublike` v0.25 because of RT155630 bugfix * Document and test the operation of `my method` [BUGFIXES] * Don't segfault when `->get_direct_method` fails to find the requested method 0.813 2024-09-03 [CHANGES] * Removed the `has` keyword; it now immediately throws a compiletime error [BUGFIXES] * Ensure that the RHS of a field init expression permits any kind of listexpr, including `( VAL ) x COUNT` * Fix some docs typoes (thanks Nick Morrott) (RT155106) 0.812 2024-08-29 [BUGFIXES] * Fix for perl 5.41.3, when `SAVEt_LONG` was removed * Thu Aug 22 2024 Tina Müller <timueller+perl@suse.de> - updated to 0.811.0 (0.811) see /usr/share/doc/packages/perl-Object-Pad/Changes 0.811 2024-08-21 [CHANGES] * Accept requesting additional attributes to the `$classmeta->add_field` MOP method * XS API changes: + `get_obj_fieldsv()` does not need to take a ClassMeta argument + Added `mop_field_get_class()` + Added `get_field_for_padix()` 0.810 2024-08-10 [CHANGES] * Use `File::ShareDir` for storing .h include file, rather than storing the contents in the `__DATA__` section of the build helper * Added field hook function `gen_valueassert_op` * Warn when enabling all experiments at once with an unqualified `:experimental` import [BUGFIXES] * Don't attempt to reserve the embedding slot in the pad twice when making roles under composed_adjust (RT154494) * Ensure that field variables are not visible at compiletime of :common methods (RT154639) * Mon Jul 15 2024 Tina Müller <timueller+perl@suse.de> - updated to 0.809.0 (0.809) see /usr/share/doc/packages/perl-Object-Pad/Changes 0.809 2024-07-14 [CHANGES] * Experimental attempt at supporting anonymous `class` syntax * Add an extra debugging aid in the form of "linnets", canary-like values added to every struct and checked on pointer casts [BUGFIXES] * Do not create a `new` constructor method for roles, only classes * Ensure perl doesn't attempt to free() a non-malloced pointer when deleting a method of an invokable role (RT152793) * Ensure that `Object::Pad::MOP::Class->for_class` is not confused by non-OP subclasses * Make sure not to embed CVs of `:common` methods because that will upset any lexical or pad temporary at pad index 3 * Fri Mar 08 2024 Tina Müller <tina.mueller@suse.com> - Fix disabling of __perllib_provides * Fri Dec 29 2023 Tina Müller <timueller+perl@suse.de> - updated to 0.808 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.808 2023-12-28 [CHANGES] * Added `Object::Pad::MOP::Class->try_for_class` * Nicer error message when calling `->for_class` on a package not implemented using Object::Pad 0.807 2023-12-11 [CHANGES] * Added `inherit` and `apply` keywords in an attempt to make subclassing and role-application more flexible in future * Experimental new ability to "import" fields from superclasses into subclasses, permitting subclasses to interact with base class fields directly * Allow setting the `OBJECTPAD_FLAG_ATTR_*_VALUE` flags when registering a custom attribute via the Perl-level MOP API * Wed Nov 15 2023 Tina Müller <timueller+perl@suse.de> - updated to 0.806 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.806 2023-11-14 [CHANGES] * Allow field initialiser expressions to see the values of other fields already declared * Sat Oct 21 2023 Tina Müller <timueller+perl@suse.de> - updated to 0.805 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.805 2023-10-20 [CHANGES] * Added an experimental feature to compose all ADJUST blocks into a single CV * Removed experimental warning from `ADJUST :params` [BUGFIXES] * Don't crash the `Devel::MAT::Dumper` helper if a class does not have a parammap (RT150151) * Thu Oct 05 2023 Tina Müller <timueller+perl@suse.de> - updated to 0.804 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.804 2023-10-04 [CHANGES] * Add `:repr(pvobj)` for Perl 5.38+ * Much internal code adjustment to support instances not backed by `SVt_PVAV` [BUGFIXES] * Fix the METHSTART_CONTAINS_FIELD_BINDINGS optimisation that had been recently broken, restoring its performance gains * Thu Sep 21 2023 Tina Müller <timueller+perl@suse.de> - updated to 0.803 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.803 2023-09-20 [CHANGES] * Add `:repr(keys)` to use one hash key per field * Performance improvements to constructor: + Use `av_*_simple()` functions when operating on internal AVs + Don't bother calling the universal `->BUILDARGS` method if the class doesn't override it + Calculate the argument count just once * Wed Aug 23 2023 Tina Müller <timueller+perl@suse.de> - updated to 0.802 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.802 2023-08-22 [CHANGES] * Internal XS-level changes: + Generate the basic accessor ops directly before invoking the gen_accessor_ops chain, ensuring more reliable ordering + Renamed the `post_initfields` field hook to `post_makefields` to better reflect when it actually runs * Removed the special-case warning about `method BUILD` * Added docs to point out that `ADJUST` blocks see method-like field lexicals * Fri Aug 11 2023 Tina Müller <timueller+perl@suse.de> - updated to 0.801 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.801 2023-08-10 [CHANGES] * Warn at compiletime if `ADJUST` blocks perform out-of-block control flow. This warning will become a compiletime error in a later version * Added `mop_class_get_attribute()` and `mop_class_get_attribute_values()` to C-level API * Removed the old `ClassHook->hookdata` and `FieldHook->hookdata` variable aliases [BUGFIXES] * A better `sub VERSION` that works as a more transparent wrapper (RT149357) 0.800 2023-08-09 [CHANGES] * Switched to three-digit version numbering * Removed experimental warnings from non-constant field initialiser expressions * Emit deprecation warnings at compiletime from `has` keyword * Expanded documentation about the implied pragmata changes, which will likely be removed entirely in a later version. * Emit a warning if implied strict/warnings was enabled, conditional on `use Object::Pad` with this version number or later. * Wed May 10 2023 Tina Müller <timueller+perl@suse.de> - updated to 0.79 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.79 2023-05-09 [CHANGES] * Swap all unit tests from `Test::More` to `Test2::V0` * Support `goto LABEL` entirely within a field initialiser block [BUGFIXES] * Docs fix for implied method names to match names of fields (RT146092) * Hide bleadperl's suspended compcv macros when redefining our own of the same name * Fri Jan 13 2023 Tina Müller <timueller+perl@suse.de> - updated to 0.78 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.78 2023-01-12 [BUGFIXES] * Don't complain about empty-list field initialisers being non-constant (related to RT145618) * Define more configuration options for `Feature::Compat::Class` * Tue Dec 20 2022 Tina Müller <timueller+perl@suse.de> - updated to 0.77 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.77 2022-12-19 [BUGFIXES] * Fix C compiler errors and warnings + Neater handling of OP_NULL in optrees; avoids error of a case label applied to a declaration, which upsets non-gcc compilers + Use PTR2UV / NUM2PTR pairs instead of plain casting 0.76 2022-12-16 [CHANGES] * No longer consider `field VAR = CONST` experimental for constant expressions * Make field assignment and `ADJUST :params` slightly more efficient by stealing new OP_HELEMEXISTSOR op from upcoming perl version * Defined new ABI version 0.76 + Adds `pre_seal` and `post_seal` functions for class hooks 0.75 2022-12-14 [CHANGES] * Support fields using `//=` and `||=` defaulting operators, to match the core perl `class` feature * Define more configuration options for `Feature::Compat::Class` 0.74 2022-12-04 [BUGFIXES] * Ensure that all struct fields are initialised after Newx(), by using a C99-style struct assignment, ensuring no uninitialised behaviour (RT145289) 0.73 2022-12-03 [CHANGES] * Accept `field VAR = EXPR;` syntax; evaluated within constructor similarly to block form * Generally prefer `field` over `has` in docs, unit tests, etc... * Long-deprecated `extends` and `implements` keywords are now immediate compile-time failures * Extended the C-level extension API + Added `get_compclassmeta()` + Added `mop_class_add_method_cv()` and `mop_class_get_name()` + Optional integration with XS::Parse::Keyword via the addition of the `OPXKP_*` macros [BUGFIXES] * Account for bleadperl's slightly changed warning message of "bareword found ..." 0.72 2022-11-30 [CHANGES] * Accept `//=` and `||=` in named signature-like syntax for `ADJUST :params` blocks * Added `__CLASS__` * Deprecate use of params hashref in `ADJUST` blocks; needs to be written as `ADJUSTPARAMS`, which is not longer exactly synonymous with `ADJUST` * Thu Nov 03 2022 Tina Müller <timueller+perl@suse.de> - updated to 0.71 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.71 2022-11-01 [CHANGES] * Add a =head2 heading to docs on `ADJUST :params` for ease of linking * Support latest blead-perl which adds the xV_FROM_REF macros [BUGFIXES] * Make sure to deref the CODE reference to ->add_method before stuffing it into the GV (RT144975) * Avoid C99-style for() loop variable, to keep older MSWin32 compilers happy 0.70 2022-10-29 [CHANGES] * Added `ADJUST :params`, which permits named parameters to ADJUST blocks (currently experimental) 0.69 2022-10-25 [CHANGES] * Internal tidying to the way the initfields stage of the constructor works * Support for Feature::Compat::Class to enable the :isa class attribute alone * Sun Aug 14 2022 Tina Müller <timueller+perl@suse.de> - updated to 0.68 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.68 2022-08-13 [BUGFIXES] * Wording fix in new Object::Pad::MetaFunctions docs * Avoid label at end of compound statement (RT144005) 0.67 2022-08-12 [CHANGES] * Added `Object::Pad::MetaFunctions` to contain some introspection and reflection helper functions * Avoid writing the rather silly-sounding `field $field` in docs; use single-letter field names like `$x` or `$f` instead * Thu Jul 07 2022 Tina Müller <timueller+perl@suse.de> - updated to 0.66 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.66 2022-07-07 [CHANGES] * Improved performance on perl 5.22 onwards, by merging the operation of the individual pp_fieldpad ops into the main pp_methstart op * Prepare compatibility with core's `use feature 'class'`: + Support `field` keyword as a synonym of `has`, though without immediate EXPR version + Merge meaning of `ADJUST` and `ADJUSTPARAMS`; give all such blocks a params hashref. `ADJUSTPARAMS` is now just a synonym * Print "discouraged" warnings on `requires` keyword * Print deprecation warnings on `isa` and `does` subkeywords * Added list-returning ->get_attribute_values() accessor to Object::Pad::MOP::Field * Deleted legacy XS symbols relating to "slot" from before it was renamed to "field" * Wed May 11 2022 Tina Müller <timueller+perl@suse.de> - updated to 0.65 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.65 2022-05-10 [CHANGES] * Document the required version for :experimental tags * Mention the new Devel::MAT::Tool::Object::Pad in docs [BUGFIXES] * Update cv_copy_flags() for SvPADTMP fix; related to RT142468 * Wed Apr 06 2022 Tina Müller <timueller+perl@suse.de> - updated to 0.64 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.64 2022-04-02 [CHANGES] * Improvements to `:experimental` import tag (RT141801): + Support multiple experiments at once + Make sure to still enable the default keywords * Much better integration with `Devel::MAT::Dumper`: + Export complete C-level structures and magic VTBL root * Adjusted wording of "MOP API is experimental" so it doesn't refer to a package that doesn't actually exist (RT141801) * Tue Mar 08 2022 Tina Müller <timueller+perl@suse.de> - updated to 0.63 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.63 2022-03-07 [CHANGES] * Deleted long-deprecated Object::Pad->begin_class * No longer declare the entire module as "experimental" * Add experimental warnings to still-experimental features; recognise `:experimental` import tags to silence them [BUGFIXES] * Ensure that generated accessors work correctly regardless of the prevailing package when they were generated (RT141599) * Ensure that classes and accessors can be generated entirely outside of a BEGIN block (RT141677) 0.62 2022-03-01 [CHANGES] * Add "common" methods: + Implement `:common` attribute for methods + Take 'common' argument to `$metaclass->add_method` + Added `$metamethod->is_common` accessor * Don't require a terminating semicolon after `has $field { EXPR }` [BUGFIXES] * Better handling of role method embeddings that include lexical captures (RT141483) * Thu Feb 17 2022 Tina Müller <timueller+perl@suse.de> - updated to 0.61 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.61 2022-02-16 [CHANGES] * Added Object::Pad::MOP::Class->create_{class,role} * Added $metaclass->seal (RT131294) * Added $metaclass->add_required_method and ->required_method_names (RT141314) * Accept bodyless `method NAME;` declarations to declare a required role method [BUGFIXES] * Assert when compclassmeta->name doesn't match PL_curstname (RT131293) * Sat Feb 05 2022 Antoine Belvire <antoine.belvire@opensuse.org> - Initial package: perl-Object-Pad-0.60.
/usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/Object /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/Object/Pad /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/Object/Pad.pm /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/Object/Pad/ExtensionBuilder.pm /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/Object/Pad/Guide /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/Object/Pad/Guide/MigratingFromClassicalPerl.pod /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/Object/Pad/MOP /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/Object/Pad/MOP/Class.pm /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/Object/Pad/MOP/Field.pm /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/Object/Pad/MOP/FieldAttr.pm /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/Object/Pad/MOP/Method.pm /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/Object/Pad/MetaFunctions.pm /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/auto/Object /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/auto/Object/Pad /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/auto/Object/Pad/Pad.bs /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/auto/Object/Pad/Pad.so /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/auto/share /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/auto/share/module /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/auto/share/module/Object-Pad /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/auto/share/module/Object-Pad/include /usr/lib/perl5/vendor_perl/5.40.0/i586-linux-thread-multi-64int/auto/share/module/Object-Pad/include/object_pad.h /usr/share/doc/packages/perl-Object-Pad /usr/share/doc/packages/perl-Object-Pad/Changes /usr/share/doc/packages/perl-Object-Pad/README /usr/share/licenses/perl-Object-Pad /usr/share/licenses/perl-Object-Pad/LICENSE /usr/share/man/man3/Object::Pad.3pm.gz /usr/share/man/man3/Object::Pad::ExtensionBuilder.3pm.gz /usr/share/man/man3/Object::Pad::Guide::MigratingFromClassicalPerl.3pm.gz /usr/share/man/man3/Object::Pad::MOP::Class.3pm.gz /usr/share/man/man3/Object::Pad::MOP::Field.3pm.gz /usr/share/man/man3/Object::Pad::MOP::FieldAttr.3pm.gz /usr/share/man/man3/Object::Pad::MOP::Method.3pm.gz /usr/share/man/man3/Object::Pad::MetaFunctions.3pm.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Sat Feb 1 00:03:07 2025