Skip to content

feat(compiler): autorise la covariance du type de retour des overrides#48

Merged
5pilow merged 1 commit into
leek-wars:masterfrom
NyalephTheCat:claude/stoic-noether-7pi6re
Jun 17, 2026
Merged

feat(compiler): autorise la covariance du type de retour des overrides#48
5pilow merged 1 commit into
leek-wars:masterfrom
NyalephTheCat:claude/stoic-noether-7pi6re

Conversation

@NyalephTheCat

@NyalephTheCat NyalephTheCat commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Une méthode qui en surcharge une autre peut désormais réduire son type de retour à une sous-classe (covariance), comme en Java, au lieu d'exiger un type strictement identique. Les types des paramètres restent invariants.

La covariance est limitée aux types classe, seul cas que le Java généré peut représenter via un retour covariant (u_Enfant extends u_Parent) ; Java n'autorise pas non plus la covariance entre primitifs (double -> long).

Claude-Session: https://claude.ai/code/session_01Mvgkm33dCbqx9fcGnhVk3E

closes #49

Une méthode qui en surcharge une autre peut désormais réduire son type
de retour à une sous-classe (covariance), comme en Java, au lieu d'exiger
un type strictement identique. Les types des paramètres restent invariants.

La covariance est limitée aux types classe, seul cas que le Java généré
peut représenter via un retour covariant (u_Enfant extends u_Parent) ;
Java n'autorise pas non plus la covariance entre primitifs (double -> long).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Mvgkm33dCbqx9fcGnhVk3E
@5pilow 5pilow merged commit 7ad1b50 into leek-wars:master Jun 17, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(override): autoriser la covariance

3 participants