
    hh	                    P   d Z ddlmZ ddlZddlmZmZ erXddlmZ ej        dk    rddlm	Z	 ddl
mZ ndd	lm	Z	mZ ej        d
k    r	ddlmZmZ nddlmZmZ  e	dedef                   Zn3ej        dk    rddlm	Z	 ddl
mZ nddlm	Z ddddd&dZ	d'dZd Zd!Zd(d$Zg d%ZdS ))aA  Backward compatibility for newer/less buggy typing features.

## Important
Import from here to avoid introducing a runtime dependency on [`typing_extensions`]

## Notes
- `TypeVar` defaults
  - https://typing.python.org/en/latest/spec/generics.html#type-parameter-defaults
  - https://peps.python.org/pep-0696/
- `@deprecated`
  - https://docs.python.org/3/library/warnings.html#warnings.deprecated
  - https://typing.python.org/en/latest/spec/directives.html#deprecated
  - https://peps.python.org/pep-0702/

[`typing_extensions`]: https://github.com/python/typing_extensions
    )annotationsN)TYPE_CHECKINGAny)Callable)      )TypeVar)
deprecated)r	   r
   )r      )Neverassert_never_Fn.)boundFr   	covariantcontravariantnamestrconstraintsr   r   
Any | Noner   boolr   kwdsc               &    t          | g|R |||dS )Nr   )_TypeVar)r   r   r   r   r   r   s         N/var/www/histauto/venv/lib/python3.11/site-packages/narwhals/_typing_compat.pyr	   r	   0   s;       #+       messagereturnCallable[[_Fn], _Fn]c                   dd}|S )Nfuncr   r   c                   | S )N )r!   s    r   wrapperzdeprecated.<locals>.wrapperA   s    r   )r!   r   r   r   r#   )r   r$   s     r   r
   r
   @   s        Nr   d   zKhttps://github.com/narwhals-dev/narwhals/issues/new?template=bug_report.ymlargr   c                   t          |           }t          |          t          k    r|d t                   dz   }d| dt           }t	          |          )Nz...z*Expected code to be unreachable, but got: z.
Please report an issue at )reprlen_ASSERT_NEVER_REPR_MAX_LENGTH_BUG_URLAssertionError)r&   valuemsgs      r   r   r   K   sh    S		u::5558889EAE4 4 4)14 4 	 S!!!r   )r	   r   r
   )r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   )r&   r   r   r   )__doc__
__future__r   systypingr   r   r   version_infor	   warningsr
   typing_extensionsr   r   r   r   r*   r+   __all__r#   r   r   <module>r7      s   " # " " " " " 


 % % % % % % % % ;"
7""""""""'''''''99999999
7"".........99999999
'%xS1
2
2
2CC 7""""""""'''''''......
 !%#"'	 	 	 	 	 	 	 	 	 	 %(!U " " " " 4
3
3r   