Skip to content

Categories for extension types via __getattr___ #7921

@nthiery

Description

@nthiery

With this patch, all parents and elements can inherit code from categories, even extension types. This includes in particular
generic tests (see TestSuite(...).run()):

sage: ZZ.category()
Category of commutative rings
sage: TestSuite(ZZ).run(verbose = True)
running ._test_additive_associativity() . . . pass
running ._test_an_element() . . . pass
running ._test_associativity() . . . pass
running ._test_element_pickling() . . . pass
running ._test_not_implemented_methods() . . . pass
running ._test_one() . . . pass
running ._test_pickling() . . . pass
running ._test_prod() . . . pass
running ._test_some_elements() . . . pass
running ._test_zero() . . . pass

It is to be expected that this will catch bugs in many places in the library. To start with, see #7922, #7929, #7945, #7946

See patch description for details.

Patch also available on the sage-combinat server, with a +category guard: http://combinat.sagemath.org/hgwebdir.cgi/patches/file/tip/trac_7921-categories_for_extension_types-nt.patch

CC: @sagetrac-sage-combinat @mwhansen @robertwb @roed314

Component: categories

Author: Nicolas M. Thiéry

Reviewer: Robert Bradshaw

Merged: sage-4.3.2.alpha0

Issue created by migration from https://trac.sagemath.org/ticket/7921

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions