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

fix #26453, require obviously-concrete lower bound for a var to be diagonal #26567

Merged
merged 1 commit into from
Apr 11, 2018

Conversation

JeffBezanson
Copy link
Sponsor Member

This changes method applicability, but is only very slightly breaking, since vars whose lower bounds are other vars are pretty rare in method signatures. Also in such methods the resulting static parameters tend to be undefined, since there is no unique value for them.

Overall I think this makes subtyping a bit more intuitive. Here, I chose to make a var non-diagonal if its lower bound is another var. A possible variation is to make it diagonal if the lower bound var itself has a concrete upper bound (e.g. in S<:Int, T>:S, T could still be diagonal).

@JeffBezanson JeffBezanson added breaking This change will break code types and dispatch Types, subtyping and method dispatch labels Mar 21, 2018
@JeffBezanson JeffBezanson merged commit ae59892 into master Apr 11, 2018
@JeffBezanson JeffBezanson deleted the jb/fix26453 branch April 11, 2018 15:42
mbauman added a commit that referenced this pull request Apr 12, 2018
* origin/master:
  A few more #26670 fixes (#26773)
  Revert "deprecate using the value of `.=`. fixes #25954" (#26754)
  change dim arguments for `diff` and `unique` to keyword args (#26776)
  reorder pmap arguments to allow do-block syntax (#26783)
  correct deprecated parametric method syntax (#26789)
  [NewOptimizer] handle new IR nodes correctly in binary format
  [NewOptimizer] support line number emission from new IR format
  fix #26453, require obviously-concrete lower bound for a var to be diagonal (#26567)
  fix #26743, spurious `return` path in try-finally in tail position (#26753)
  Also lift SelectInst addrspaces
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking This change will break code types and dispatch Types, subtyping and method dispatch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant