Missing implementation for enum extension value #394
Replies: 1 comment
|
Thanks for raising this — the pain is real (we got bitten by exactly this The core problem with a blanket ruleRequiring an explicit And the data backs that up. Scanning the current BC source: 33 distinct The "smart" variant doesn't work eitherThe obvious refinement — only flag when the default implementation throws — is not implementable in practice. Symbol packages ( How other linters handle thisThis lint category exists elsewhere, and it's always opt-in:
What could actually workA narrower, declaration-side rule: flag an enum you declare whose This rule would ship disabled by default, to be enabled through a custom ruleset. To be fully honest: I'm unsure how many people would turn it on. It can't catch the case that actually bit us (BaseApp ships as symbols, so the throwing default is invisible to the analyzer), it only prevents you from creating the same trap yourself. That's a fairly narrow audience. The real fix is upstreamArguably this is a platform gap: AL has no way to mark a That said, I'd genuinely like to make something out of this — do you have ideas to improve the rule so it could catch the dependency-side case, or another angle we've both missed? Generated with Claude Fable 5 |
Uh oh!
There was an error while loading. Please reload this page.
Related to AL0596
For Enums, that implement an interface, all values must provide an implementation. Unless the enum provides a DefaultImplementation.
The proposed rule would require an implementation even when there is a DefaultImplementation.
Reasoning
We extended enum
5057 "Contact Business Relation Link To Table"without looking too closely. The DefaultImplementation throws a runtime error.All reactions