You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Official blog post mentioned some form of sophisticated "execution simulation", but I've tried new language server and it seems to work worse than intellij or jedi static analysis. For example it doesn't autocomplete collections.namedtuple keyword arguments and attributes.
C=collections.namedtuple('C', 'foo bar')
c=C() # no autocomplete here for foo or barc. # no autocomplete here for foo or bar either
It doesn't check for unhanded exceptions
defonly_foo(arg):
ifarg!='foo':
raiseValueError()
return'bar'b=only_foo(arg='bar') #simple constant folding shows that this would raise ValueError, what is your simulation actually simulates?
On the good side. Unlike intellij and jedi you autocomplete partial functions (shame on you intellij)
fromfunctoolsimportpartialdeff(baz, bar):
passg=partial(f, baz='a')
g() # shows that g has one argument named bar heredefpart(f, *args, **kwargs):
defwrapper(*args_, **kwargs_):
returnf(*args, *args_, **kwargs, **kwargs_)
returnwrapperg=part(f, baz='a')
g() # shows that g has one argument named bar here
But then again you don't do quite simple analysis about simple errors
deff(foo):
passf(bar='some') # simple analysis shows that this will raise TypeError about unexpected argument
It would be very nice to know what we can expect from you language server and should we bother to switch.
The text was updated successfully, but these errors were encountered:
We actually don't pre-announce anything as a team policy.
To support namedtuple you have to special-case it due to how namedtuple is implemented. As for more error analysis like your calling errors, we simply have not implemented them yet.
If you want to file separate issues for feature requests for error detection then please do.
Official blog post mentioned some form of sophisticated "execution simulation", but I've tried new language server and it seems to work worse than intellij or jedi static analysis. For example it doesn't autocomplete
collections.namedtuple
keyword arguments and attributes.It doesn't check for unhanded exceptions
On the good side. Unlike intellij and jedi you autocomplete partial functions (shame on you intellij)
But then again you don't do quite simple analysis about simple errors
It would be very nice to know what we can expect from you language server and should we bother to switch.
The text was updated successfully, but these errors were encountered: