U
    ‰dÐ  ã                   @   sf   d dl Z d dlmZ d dlmZmZ G dd„ de jƒZeƒ Ze	dœdd„Z
ee	ed d	œd
d„ƒZdS )é    N)Úcontextmanager)ÚOptionalÚIteratorc                   @   s   e Zd ZU dZee ed< dS )ÚLocalsNÚ!use_const_ref_for_mutable_tensors)Ú__name__Ú
__module__Ú__qualname__r   r   ÚboolÚ__annotations__© r   r   ú2/tmp/pip-unpacked-wheel-ua33x9lu/torchgen/local.pyr      s   
r   )Úreturnc                   C   s   t jd k	stdƒ‚t jS )NzQneed to initialize local.use_const_ref_for_mutable_tensors with local.parametrize)Ú_localsr   ÚAssertionErrorr   r   r   r   r      s    ÿr   )r   r   c                 c   s$   t j}z| t _d V  W 5 |t _X d S )N)r   r   )r   Z%old_use_const_ref_for_mutable_tensorsr   r   r   Úparametrize!   s    
ÿr   )Ú	threadingÚ
contextlibr   Útypingr   r   Úlocalr   r   r
   r   r   r   r   r   r   Ú<module>   s   