-
Notifications
You must be signed in to change notification settings - Fork 0
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
feat: substitute type parameters when checking overridden members #922
Conversation
🦙 MegaLinter status: ✅ SUCCESS
See detailed report in MegaLinter reports |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #922 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 92 92
Lines 17151 17239 +88
Branches 3470 3483 +13
=========================================
+ Hits 17151 17239 +88 ☔ View full report in Codecov by Sentry. |
## [0.8.0](v0.7.0...v0.8.0) (2024-02-26) ### Features * check the runner version to be compatible ([#888](#888)) ([83378a3](83378a3)), closes [#880](#880) * check type parameter bounds for default values and named types ([#919](#919)) ([7003ea6](7003ea6)), closes [#614](#614) * clamp default values of parameter types to upper bound ([#921](#921)) ([76ad869](76ad869)) * compute highest common subtype ([#901](#901)) ([5630a9f](5630a9f)), closes [#860](#860) * compute type parameters for calls ([#920](#920)) ([35dc826](35dc826)), closes [#861](#861) * consider nullability of upper type parameter bound in various checks ([#892](#892)) ([940515a](940515a)) * constraints for segments ([#911](#911)) ([e57f886](e57f886)), closes [#903](#903) * EDA on pipeline Tables ([#834](#834)) ([f42c9aa](f42c9aa)) * error if parent type is nullable ([#891](#891)) ([add650d](add650d)) * escape characters in string conversion of string constants ([#908](#908)) ([72a9c3c](72a9c3c)), closes [#904](#904) * format upper bound of type parameters ([#898](#898)) ([9d6ce28](9d6ce28)) * handle invariant/covariant type parameters when computing lowest common supertype ([#868](#868)) ([4d6cb4e](4d6cb4e)), closes [#860](#860) [#861](#861) * improve handling of subclasses of lists/maps ([#890](#890)) ([bb0c94b](bb0c94b)) * improvements to constraints ([#896](#896)) ([b81bef9](b81bef9)), closes [#18](#18) [#860](#860) [#18](#18) * include enum name in string conversion of enum variant types ([#907](#907)) ([1f6502e](1f6502e)), closes [#902](#902) * scoping for member accesses if receiver has type parameter type ([#889](#889)) ([1277bd1](1277bd1)) * shorter message if runner is started but files have errors ([#912](#912)) ([b611b44](b611b44)), closes [#910](#910) * simplify union types containing type parameter types disregarding entry order ([#894](#894)) ([cf6e77e](cf6e77e)) * singular type is its own lowest common supertype ([#893](#893)) ([79d611d](79d611d)) * substitute type parameter when type checking calls ([#923](#923)) ([2e09306](2e09306)), closes [#915](#915) * substitute type parameters when checking overridden members ([#922](#922)) ([0e657cf](0e657cf)), closes [#917](#917) * update to `safe-ds-runner` v0.7.0 ([#906](#906)) ([070f406](070f406)) * use bounds of type system where possible ([#899](#899)) ([cf92762](cf92762)) ### Bug Fixes * lenient type checking involving type parameter types ([#916](#916)) ([b9d3641](b9d3641)), closes [#915](#915) [#915](#915) * runner startup silent failure ([#914](#914)) ([8812944](8812944)), closes [#909](#909) * save dirty files before running pipeline ([#918](#918)) ([4302ca6](4302ca6)) * simplification of union types ([#897](#897)) ([4c577a3](4c577a3))
🎉 This PR is included in version 0.8.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Closes #917
Summary of Changes
When checking whether overriding is legal and needed, we now use strict type checking and correctly substitute type parameters.