Code review discussion in Make Status stable to extend and Move Status::wrap() to StatusValue suggests that there’s currently a lack of shared understanding about the Status and StatusValue classes. Let’s discuss this here instead of on Gerrit.
Open questions include:
- Is new code encouraged to use Status and/or StatusValue?
- Which one? Are both encouraged, or is one discouraged?
- Which features? Are some specific features (e.g. warnings, or OK-but-not-good status, or statusData) discouraged?
- Is it okay to extend either class? (Note that there are several existing subclasses, both in core and in some extensions: codesearch)
- If yes, are there any specific rules to follow?
- If no, are there other suggested patterns to make working with statuses more convenient?
- Are there any changes we want to make to either class?
- If yes: who’s going to do them?