def queue_unbind(self, queue, exchange=None, routing_key='',
                     arguments=None, **kwargs):
        # Remove queue binding:
        self.state.binding_delete(queue, exchange, routing_key)
        # Remove binding from exchange's routing table:
        try:
            table = self.get_table(exchange)
        except __HOLE__:
            return
        binding_meta = self.typeof(exchange).prepare_bind(
            queue, exchange, routing_key, arguments,
        )
        # TODO: the complexity of this operation is O(number of bindings).
        # Should be optimized. Modifying table in place.
        table[:] = [meta for meta in table if meta != binding_meta]
dataset/ETHPy150Open celery/kombu/kombu/transport/virtual/__init__.py/Channel.queue_unbind