... | ... | @@ -37,9 +37,13 @@ A concrete proposal for allowing `DEPRECATED` pragmas to be attached to class me |
|
|
## `REMOVED` Pragma
|
|
|
|
|
|
|
|
|
See also [\#10933](https://gitlab.haskell.org//ghc/ghc/issues/10933).
|
|
|
|
|
|
|
|
|
Once a method or function is finally removed, we just get a compiler error which doesn't give much guidance what to use instead. A suggestion is to have a `REMOVED` pragma into which a `DEPRECATED` pragma can be rewritten into, providing additional guidance for a missing symbol that was once there.
|
|
|
|
|
|
|
|
|
Possible extension for removed class methods: When defining a no-more existent `method` as part of an instance definition, ignore definitions matching a set of specified implementation bodies. E.g. for AMP defining `return = pure` even though `return` has been `REMOVED` could be tolerated. This would allow for a CPP-less transition.
|
|
|
**Richard:** Interesting extension. But this should surely cause a warning even if it is tolerated. **End Richard**
|
|
|
|
|
|
TODO Write specification |