-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
reserve syntax that could be used for computed field types #26816
Conversation
Putting this in NEWS might just add noise --- I don't believe there's anything useful you can do with this syntax currently. |
What about
or
My 2cts |
Will be very interesting to embed into a graph (LightGraphs.jl ?) or db (JuliaDB ?) library to handle the (re)computing of derived properties, metrics etc. When the time has come, of course... |
|
What it does is still possible assuming this is still allowed. It's nonetheless something useful that can be done currently with the syntax though. |
Ok, you're right. Maybe this should be a deprecation warning instead? Or continue to allow the current syntax, and require something like |
* 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) ...
Was the triage decision to use |
That keeps the semantics consistent with super types, which I assume will probably never support deferred computed types. |
@generated struct Foo{T}
x::T
y::eltype(T)
end Maybe? |
* origin/master: (23 commits) fix deprecations of \cdot and \times (#26884) Support reshaping custom 0-dimensional arrays (#26870) fix some cases of dot syntax lowering (#26878) Pkg3: deterministically close the LibGit2 repo in tests (#26883) code loading docs: add missing graph edge (#26874) add news for #26858 and #26859 [ci skip] (#26869) Deprecate using && and || within at-dot expressions (#26792) widen `Int8` and `Int16` to `Int` instead of `Int32` (#26859) fix #26038, make `isequal` consistent with `hash` for `Ptr` (#26858) Deprecate variadic size(A, dim1, dim2, dims...) method (#26862) add using Random to example in manual (#26864) warn once instead of depwarn since we want to test it Revert "reserve syntax that could be used for computed field types (#18466) (#26816)" (#26857) Fix compilation on LLVM 6.0 change promotion behaviour of `cumsum` and `cumsum!` to match `sum` [LLVM 6] add patch to diamond if-conversion add a precompile command that can be used to precompile all dependencies (#254) use registry if no version entry exist in project for developed pacakges make Pkg3 work as a drop in for the old CI scripts update registries when adding (#253) ...
This will allows us to implement #18466 in a non-breaking way. Example:
Specifically, this disallows call expressions containing type parameters.