Endilll wrote:

I think the primary reason we're adding type annotations is to improve user 
experience: better autocompletion, more information for user's type checkers. 
But we're constrained by two factors in achieving that goal.

First is Python 3.8, which the version that LLVM project uses, and is likely to 
continue using for the foreseeable future ([Discorse 
thread](https://discourse.llvm.org/t/rfc-upgrading-llvm-s-minimum-required-python-version/88605)).
 If you think we should follow the example of MLIR bindings, I'd like to see a 
very compelling case.

Second is the ability to set up CI to check for completeness of type 
annotations. For a decade Python bindings were lacking dedicated maintainers 
and contributors. It was a patchwork of either afterthoughts or when someone 
realized they need to expose something for their specific use case, and no one 
can guarantee this won't happen again. But CI will continue to work and guide 
future contributors. As an example, I don't want to annotate something as 
`object` if our tools are going to be like "no `object` annotation here? cool, 
I can infer as much".

> imo we would first need to decide which approach is preferable here

It seems to me that #76664 is better aligned with what I've just written than 
this patch, but I'm happy to get convinced otherwise. @DeinAlptraum If you had 
more specific differences that I didn't cover here, please let me know.

https://github.com/llvm/llvm-project/pull/173845
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to