Opaque#

class hugr.tys.Opaque(id: str, bound: ~hugr._serialization.tys.TypeBound, args: list[~hugr.tys.TypeArg] = <factory>, extension: str = '')[source]#

Bases: Type

Opaque type, identified by id and with optional type arguments and bound.

Methods

resolve

Resolve the opaque type to an ExtType using the given registry.

type_arg

The TypeTypeArg for this type.

type_bound

The bound of this type.

Attributes

extension

id

bound

args

resolve(registry: ext.ExtensionRegistry) Type[source]#

Resolve the opaque type to an ExtType using the given registry.

If the extension or type is not found, return the original type.

type_arg() TypeTypeArg#

The TypeTypeArg for this type.

Example

>>> Qubit.type_arg()
TypeTypeArg(ty=Qubit)
type_bound() TypeBound[source]#

The bound of this type.

Example

>>> Tuple(Bool, Bool).type_bound()
<TypeBound.Copyable: 'C'>
>>> Tuple(Qubit, Bool).type_bound()
<TypeBound.Any: 'A'>