forked from VimPlug/jedi
Get typing.NewType working (#1344)
Squashed from the following commits: * Update pep0484.py (I don't think I want to know why the cursor jumped to the beginning of the line with every keystroke in GitHub's online editor. Change was entered backwards.) * Added test for inline use of NewType. Currently assuming that wrapped instances should get the underlying type. * Altered tests per https://github.com/davidhalter/jedi/issues/1015#issuecomment-356131566 * Add NewTypeFunction to typing evaluation module * Update AUTHORS.txt * Add a new test, and a speculative justification For now, address only the second comment * Copy code from third comment on the PR From inspection, I *believe* I understand what this code is doing, and as such, I believe this should cause the new test I added in response to the second comment to fail, because that test is based on faulty assumptions. * Explicitly discard the key from the tuple * Update pep0484_typing.py * Test for the wrapped type, not the wrapper "type" * Change the return value from calling a NewType
This commit is contained in:
@@ -256,6 +256,31 @@ for key in x.keys():
|
||||
for value in x.values():
|
||||
#? int()
|
||||
value
|
||||
|
||||
WrappingType = typing.NewType('WrappingType', str) # Chosen arbitrarily
|
||||
y = WrappingType(0) # Per https://github.com/davidhalter/jedi/issues/1015#issuecomment-355795929
|
||||
#? str()
|
||||
y
|
||||
|
||||
def testnewtype(y):
|
||||
"""
|
||||
:type y: WrappingType
|
||||
"""
|
||||
#? str()
|
||||
y
|
||||
#? ["upper"]
|
||||
y.u
|
||||
|
||||
WrappingType2 = typing.NewType()
|
||||
|
||||
def testnewtype2(y):
|
||||
"""
|
||||
:type y: WrappingType2
|
||||
"""
|
||||
#?
|
||||
y
|
||||
#? []
|
||||
y.
|
||||
# python >= 3.4
|
||||
|
||||
class TestDefaultDict(typing.DefaultDict[str, int]):
|
||||
|
||||
Reference in New Issue
Block a user