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

separate isbitstype(::Type) from isbits #26850

Merged
merged 1 commit into from
Apr 19, 2018
Merged

separate isbitstype(::Type) from isbits #26850

merged 1 commit into from
Apr 19, 2018

Conversation

JeffBezanson
Copy link
Sponsor Member

I believe this is the only remaining type predicate that conflates types and their instances. This change clarifies what isbits(x) means, and adds isbitstype to be consistent with isconcretetype, isstructtype, etc.

@JeffBezanson JeffBezanson added the kind:deprecation This change introduces or involves a deprecation label Apr 19, 2018
@JeffBezanson
Copy link
Sponsor Member Author

This is also useful for disallowing isbitstype(::TypeVar), which otherwise leads people astray in cases like #26816 where you want a type property but only have a TypeVar available. Currently isbits(::TypeVar) cheerfully but misleadingly returns false.

@stevengj
Copy link
Member

stevengj commented Apr 19, 2018

(See also #18168 — I think we need an ismutabletype too?)

@JeffBezanson
Copy link
Sponsor Member Author

JeffBezanson commented Apr 19, 2018

Sure, we can do that. Fortunately that's less urgent since it only involves adding is(im)mutabletype and not changing the isimmutable function.

@JeffBezanson JeffBezanson added the status:triage This should be discussed on a triage call label Apr 19, 2018
@JeffBezanson JeffBezanson merged commit 2c369bf into master Apr 19, 2018
@JeffBezanson JeffBezanson deleted the jb/isbitstype branch April 19, 2018 18:30
@JeffBezanson JeffBezanson removed the status:triage This should be discussed on a triage call label Apr 19, 2018
mbauman added a commit that referenced this pull request Apr 19, 2018
* origin/master: (22 commits)
  separate `isbitstype(::Type)` from `isbits` (#26850)
  bugfix for regex matches ending with non-ASCII (#26831)
  [NewOptimizer] track inbounds state as a per-statement flag
  change default LOAD_PATH and DEPOT_PATH (#26804, fix #25709)
  Change url scheme to https (#26835)
  [NewOptimizer] inlining: Refactor todo object
  inference: enable CodeInfo method_for_inference_limit_heuristics support (#26822)
  [NewOptimizer] Fix _apply elision (#26821)
  add test case from issue #26607, cfunction with no args (#26838)
  add `do` in front-end deparser. fixes #17781 (#26840)
  Preserve CallInst metadata in LateLowerGCFrame pass.
  Improve differences from R documentation (#26810)
  reserve syntax that could be used for computed field types (#18466) (#26816)
  Add support for Atomic{Bool} (Fix #26542). (#26597)
  Remove argument restriction on dims2string and inds2string (#26799) (#26817)
  remove some unnecessary `eltype` methods (#26791)
  optimize: ensure merge_value_ssa doesn't drop PiNodes
  inference: improve tmerge for Conditional and Const
  ensure more iterators stay type-stable
  code loading docs (#26787)
  ...
Keno pushed a commit that referenced this pull request Jun 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:deprecation This change introduces or involves a deprecation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants