mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Python parameter/variable types should match classes, not all objects
Parameter and variable types in the Python domain have the counter-intuitive behavior of matching instance methods (or likely any other objects) rather than classes, e.g.: ```python class Foo(object): def list(self): """List some things.""" def bar(x): """ :param x: x :type x: list """ ``` `bar()` will link to `Foo.list()` rather than the standard library `list` type.
This commit is contained in:
parent
662d8deaf7
commit
7046d17631
@ -177,11 +177,11 @@ class PyObject(ObjectDescription):
|
||||
PyTypedField('parameter', label=l_('Parameters'),
|
||||
names=('param', 'parameter', 'arg', 'argument',
|
||||
'keyword', 'kwarg', 'kwparam'),
|
||||
typerolename='obj', typenames=('paramtype', 'type'),
|
||||
typerolename='class', typenames=('paramtype', 'type'),
|
||||
can_collapse=True),
|
||||
PyTypedField('variable', label=l_('Variables'), rolename='obj',
|
||||
names=('var', 'ivar', 'cvar'),
|
||||
typerolename='obj', typenames=('vartype',),
|
||||
typerolename='class', typenames=('vartype',),
|
||||
can_collapse=True),
|
||||
PyGroupedField('exceptions', label=l_('Raises'), rolename='exc',
|
||||
names=('raises', 'raise', 'exception', 'except'),
|
||||
|
@ -109,10 +109,10 @@ def test_domain_py_xrefs(app, status, warning):
|
||||
'ModTopLevel', 'class')
|
||||
assert_refnode(refnodes[6], 'module_b.submodule', 'ModTopLevel',
|
||||
'ModNoModule', 'class')
|
||||
assert_refnode(refnodes[7], False, False, 'int', 'obj')
|
||||
assert_refnode(refnodes[8], False, False, 'tuple', 'obj')
|
||||
assert_refnode(refnodes[9], False, False, 'str', 'obj')
|
||||
assert_refnode(refnodes[10], False, False, 'float', 'obj')
|
||||
assert_refnode(refnodes[7], False, False, 'int', 'class')
|
||||
assert_refnode(refnodes[8], False, False, 'tuple', 'class')
|
||||
assert_refnode(refnodes[9], False, False, 'str', 'class')
|
||||
assert_refnode(refnodes[10], False, False, 'float', 'class')
|
||||
assert len(refnodes) == 11
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user