mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-24 19:50:14 +01:00
For a symbolic value with a type being a facet, we need to find a witness either from the facet's type or from an impl. Custom witness is for producing a concrete final witness, but there is no such witness in this case. We should fail to find a witness, and defer to impl lookup to find the Destroy witness. Currently it tries to find a witness from the facet type, but it ignores named constraints, which means it's incomplete at best. But there's no value in trying to say that the value is trivially destroyable, when it has a type that impls Destroy. It may not be trivial, and we can't actually make a witness for it while symbolic.