dwavesystems / dwavesystems/dwave-preprocessing
Presolver.detach_model() should cause subsequent access to model to fail
- Lenguaje dominante
- C++
- Estrellas
- 9
- Forks
- 18
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
The ``detach_model()`` [docs](https://docs.ocean.dwavesys.com/en/stable/docs_preprocessing/reference/generated/dwave.preprocessing.presolve.Presolver.detach_model.html#dwave.preprocessing.presolve.Presolver.detach_model) say "Subsequent attempts to access the model will raise a [RuntimeError](https://docs.python.org/3/library/exceptions.html#RuntimeError)" but that is not happening:
```
pre = Presolver(cqm)
pre.load_default_presolvers()
pre.detach_model()
cqm2 = pre.copy_model()
>>> type(cqm2)
dimod.constrained.constrained.ConstrainedQuadraticModel
>>> cqm2.is_equal(dimod.ConstrainedQuadraticModel())
True
```
The post-detach ``cqm2 = pre.copy_model()`` command gives no error and happily generates an empty CQM.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza con los puntos de entrada Presolver.detach_model() y copy_model() mencionados en la issue y, después, reproduce la secuencia proporcionada con un CQM. Rastrea el acceso al modelo después de detach y verifica que copy_model() genere un RuntimeError en lugar de devolver un CQM vacío; añade o actualiza la cobertura de pruebas para este comportamiento si se encuentra la ubicación de prueba relevante.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- backend
- Tipo de issue
- Error
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 48/100