Ltac2 lacks proper abstract types (and related features) #18656
Labels
kind: feature
New user-facing feature request or implementation.
part: ltac2
Issues and PRs related to the (in development) Ltac2 tactic langauge.
I sometimes really miss the ability to hide the implementation details of an Ltac2 type.
Ideally, there would be an
#[abstract]
attribute that one could add to Ltac2 type to specify that the type is to be seen as abstract from any function not in the current module. For example:A variation of that attribute could be
#[private]
, forbidding one to construct values of the type outside of the module where it is defined, but still allowing matching.How hard would these be to implement?
The text was updated successfully, but these errors were encountered: