Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Validation error: @Pure used on a parameter that does not have a callable type #729

Closed
lars-reimann opened this issue Nov 6, 2023 · 0 comments · Fixed by #736
Closed
Assignees
Labels
enhancement 💡 New feature or request released Included in a release validation ✔️ Improved or new static checks

Comments

@lars-reimann
Copy link
Member

Is your feature request related to a problem?

@Pure is meant to indicate that the callable passed to a parameter must be pure. Because of this, it should only be used on parameter with a callable type.

Desired solution

Show an error if @Pure is called on a parameter that does not have a callable type.

Possible alternatives (optional)

No response

Screenshots (optional)

No response

Additional Context (optional)

No response

@lars-reimann lars-reimann added enhancement 💡 New feature or request validation ✔️ Improved or new static checks labels Nov 6, 2023
@lars-reimann lars-reimann added this to DSL Nov 6, 2023
@github-project-automation github-project-automation bot moved this to Backlog in DSL Nov 6, 2023
@lars-reimann lars-reimann changed the title Validation error: @Pure used on a parameter that does not have a callable type. Validation error: @Pure used on a parameter that does not have a callable type Nov 6, 2023
@lars-reimann lars-reimann self-assigned this Nov 7, 2023
@lars-reimann lars-reimann moved this from Backlog to Todo in DSL Nov 7, 2023
lars-reimann added a commit that referenced this issue Nov 7, 2023
…#736)

Closes #729

### Summary of Changes

Only allow using the `@Pure` annotation on parameters with a callable
type.
@github-project-automation github-project-automation bot moved this from Todo to ✔️ Done in DSL Nov 7, 2023
lars-reimann pushed a commit that referenced this issue Nov 12, 2023
## [0.3.0](v0.2.0...v0.3.0) (2023-11-12)

### Features

* annotations for the purity of functions ([#709](#709)) ([9d342e4](9d342e4)), closes [#559](#559)
* call hierarchy provider ([#735](#735)) ([168d098](168d098)), closes [#680](#680)
* compute type of elvis operators with nullable left operand ([#715](#715)) ([376b083](376b083)), closes [#541](#541)
* customize rendering of `[@param](https://github.com/param)`, `[@Result](https://github.com/result)`, and `[@type](https://github.com/type)Param` tags ([#764](#764)) ([e049148](e049148)), closes [#669](#669)
* ensure an overriding member matches the overridden one ([#758](#758)) ([a698a6a](a698a6a)), closes [#639](#639)
* error if callable type is used in wrong context ([#763](#763)) ([9b1522f](9b1522f)), closes [#713](#713)
* error if type parameter is used in nested named type declaration ([#750](#750)) ([52374aa](52374aa)), closes [#748](#748)
* info if overriding member is not needed ([#759](#759)) ([23b340e](23b340e)), closes [#25](#25)
* mark constraint lists as experimental ([#752](#752)) ([d48e1e0](d48e1e0)), closes [#18](#18)
* mark type parameter lists and type argument lists as experimental ([#755](#755)) ([f1a052a](f1a052a)), closes [#753](#753)
* mark unused internal/private segments as unnecessary ([#710](#710)) ([3ba8698](3ba8698)), closes [#682](#682)
* minor improvements for purity info ([#728](#728)) ([8d59607](8d59607))
* partially evaluate lambdas and segments ([#734](#734)) ([c40347c](c40347c)), closes [#603](#603)
* scoping for inherited members ([#706](#706)) ([4518aee](4518aee)), closes [#540](#540)
* scoping for member access on literals and literal types ([#754](#754)) ([e60e456](e60e456)), closes [#80](#80)
* scoping for references to containing declarations ([#708](#708)) ([3762c36](3762c36)), closes [#540](#540)
* show an error if a pure parameter does not have a callable type ([#736](#736)) ([6c52868](6c52868)), closes [#729](#729)
* show error if own declaration has same name as core one ([#762](#762)) ([8cb2120](8cb2120)), closes [#760](#760)
* signature help ([#724](#724)) ([ed33676](ed33676)), closes [#24](#24)
* Source Maps for Code Generation ([#714](#714)) ([64b9e07](64b9e07)), closes [#30](#30)
* tooltips for inlay hints ([#721](#721)) ([3e71cad](3e71cad))
* type checker service ([#722](#722)) ([daad5c4](daad5c4)), closes [#666](#666)
* type checking ([#723](#723)) ([a9eb3bb](a9eb3bb)), closes [#666](#666)
* type checking for list & map literals ([#751](#751)) ([dc14223](dc14223)), closes [#712](#712)
* type hierarchy provider ([#737](#737)) ([9fd5f0c](9fd5f0c)), closes [#681](#681)
* VS Code snippets ([#757](#757)) ([fd6f432](fd6f432)), closes [#756](#756)

### Bug Fixes

* assignability of static type to callable type ([#725](#725)) ([1d17900](1d17900))
* NPEs during validation ([#727](#727)) ([4b8196f](4b8196f))
* prevent overwriting core declarations ([#761](#761)) ([36663ca](36663ca))
* prevent references to following parameters from default values ([#707](#707)) ([182d64b](182d64b)), closes [#540](#540)
* setup of CLI ([#698](#698)) ([0b5d90d](0b5d90d))
@lars-reimann lars-reimann added the released Included in a release label Nov 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement 💡 New feature or request released Included in a release validation ✔️ Improved or new static checks
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant