fixes for the reportRedeclaration
and reportDuplicateImport
rules
pyright does not report redeclarations if the redeclaration has the same type:
foo: int = 1
foo: int = 2 # no error
nor does it care if you have a duplicated import in multiple different import
statements, or in aliases:
from foo import bar
from bar import bar # no error
from baz import foo as baz, bar as baz # no error
basedpyright solves both of these problems by always reporting an error on a redeclaration or an import with the same name as an existing import.