[Pyrefly] Argument `Literal['>i4']` is not assignable to parameter `dtype` with type `dtype[Any]` in function `DefaultModel.__init__`
This is a library I am working on that has a number of pydantic adapters for scientific types. The one I linked here is for numpy.dtype, but the issue is similar on a number of other ones.
Happy to discuss or provide more details.
Describe the Bug
When running pyrefly check on this file: https://github.com/psalvaggio/scientific_pydantic/blob/main/tests/numpy/test_dtype.py#L22
I expect line 22 to be OK, but it actually gives:
Background:
This is a library I am working on that has a number of pydantic adapters for scientific types. The one I linked here is for
numpy.dtype, but the issue is similar on a number of other ones.The field is annotated like:
where
DTypeAdapter()make a custom schema for thenp.dtype. This particular schema is a plain validator that takesAnyand either converts to a dtype or raises an exception, resulting in a validation error.I would expect
pyreflyto takeAnyfordtypein the model constructor, but it instead is constraining tonp.dtype.I think if there is a custom type in an
Annotatedfield that implements__get_pydantic_core_schema__, thenpyreflyshould probably be fairly lax on the constraints for the corresponding keyword argument.Happy to discuss or provide more details.
Sandbox Link
https://pyrefly.org/sandbox/?project=N4IgZglgNgpgziAXKOBDAdgEwEYHsAeAdAA4CeSIEAtsbgE4AuABA6cROgOZOpwukAddEOq1GTMpgwMIAYyFg6uKhNJT0M2YQBWcXOgD6cWQAsYVVE1H1mAKT3oAyqfOoAaqigBXGAqUrJaTkDWXoYKxobJlC6GCMXCyERMH5CABUATQAFAFEDAGEACRz8gGkASQA5AHFEISYGiLFmdC8aUh4%2BdGIk4XRZKF4%2BABE0thgAQSliBhg6OvRGpgEQFZWstSDZHmnZuiYweiZW9sJMVmJfPqWAJS8NanCAN08fRGO2sjOLq6XbRwA8pUmLFiLE4DANKgZPp3udxoQ4Ax9gAKGCETiEJgAcgAPGAABzYgA0OIAPhAACzYgCU9Uaa1Wq2ujQAAgMhlQYAwTLhMPSGpgYCkDAZONyDIEHrIQmF4mYLKKUQKltEoHBiSqlkZcF46LI4j93j8ANqsQgTdCkAC6msWqoaBhMGEwsHmqnUmkI1W5%2BTCzgVqEKLrddqWNKYAFoAHzROXGQOEP2xAOuBYOhqMlY%2B5g88JSzRMBOuA5HHkQPg-LPMjMg7l6xYxOLFiyEdC4AwcQ6SwYcAwvKAQKQMegGMD3WQw9DK%2B21hoDOCEfueIfQmBhucNCF0CArgBe0Ig%2BgAvE35a4SL3DNvd4O93MxxOp0YHy3UDPNw6F0ub-v11qMxpDcHTpFkGlZJFD1kLkeT5FUhRFAdV1mFEBzeVJLVICMY2WEBum%2BcYVnTDNrHEE4yE6Y4ejA1UIBSCsOEg-oYFQ151yogjLhpYjN1iBgGyYNCrgAhpkVIHi5z4gT8PhS5WO8GBQNrGB8ANGYmByVSYBmI9Fl4JgVNkCTayoOBuGPA4VnKdAkMwD52iYWSYHeYAhIAQjoABfNZZ0k1AK3CDwFJyOglDoFFTM4CNFGUAzVN6JYIIYKCYN5flfIQpgXx3P95PQlYZKrEBsNjJF5hEut%2BLoRYhMRZEEsaTLRXFBhJU2aUDF0fRz0VAwPwzCEoDAYDVVlWIetQd4zzfJN-QSVARu1Z0sDdd4Czkb1uXsfRUwsYMVrmEaSqYbanHmoK3gq6sfXQOY1xOwFgTfUt9jzY4pFC1AOkgGAoH5JkfNrLrr3mpgLPNWReAYZUQEwOQGBWUlpvmuq6AmlEaSUjNgYmk0ViFYwdx0-QVmtMHcMqNoNkcoqKqk6rUkhpEYdO3b3DYxGmBxt9QKEDk4BGYVUC8KAGAAWT5X6UXWrQACFeBgCWhSgbiVWrNJ4GYKhJagasGsFI0MPQdtktmTATUK8ZSVGcYplQGY5gx61enwcnhiFkXxZ1lEnOPFZoypFYaRAYkQC8GR1RIchEBAABiJgAFUI4gVgDifXS4F6TLDjoCxWpObBHfwd4OAYY6yok%2BnFjAFZKaoQv3WAfBvOZEOQDIWIwCgUhCBHKgoAoeONk77uixdPBXdCdBIE4PVD30QghHjxwYHCEwGAYYg4EQAB6HeO%2BFbvCHoTgd8hHfMFwWQ4B3qeZ7nqcd5engXmgVBsFgONp4gWe6HnxZcDE3QIuIQZBYLoEjE8OYcBdLkxWAAZkIAARgAEw%2BRAJ5UOqBJwQCgQAMWgDACgaAsATyjhgoAA
(Only applicable for extension issues) IDE Information
No response