dwavesystems / dwavesystems/dwave-preprocessing
Presolver.detach_model() should cause subsequent access to model to fail
- Vorherrschende Sprache
- C++
- Sterne
- 9
- Forks
- 18
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne mit den in der Issue referenzierten Einstiegspunkten Presolver.detach_model() und copy_model(), und reproduziere anschließend die bereitgestellte Sequenz mit einem CQM. Verfolge den Modellzugriff nach dem Detach und überprüfe, dass copy_model() einen RuntimeError auslöst, anstatt ein leeres CQM zurückzugeben; füge Tests für dieses Verhalten hinzu oder aktualisiere die Testabdeckung, falls die relevante Teststelle gefunden wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- backend
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 48/100