On Friday, 28 July 2017 at 23:25:35 UTC, Nicholas Wilson wrote:
On Friday, 28 July 2017 at 21:47:32 UTC, Jesse Phillips wrote:
* Remove the whole program defaults, I'm ok with it being
changed in a re-implementation of the runtime (like the
embedded example), we just don't need the extra confusion
within user code.
The program defaults are there to make @safe by default a
thing, and betterC by default a thing, which are covered in the
_three Primary points_ of the semesters Vision document[1].
These would not normally be set (i.e. opt in).
I read that as more, Improve Druntime and phobos's us of @safe so
that it becomes more usable.
* Specifying inferred needs to be within druntime only, and
thus may not need to exist.
I think there is usefulness in having it, particularly as the
meta-default (defaultAttributeSet). Walter has ben pushing for
some time to infer attributes by default. This would provide a
directive for the compiler to do so. Please elaborate.
I don't expect inference to happen outside templates. Besides if
the compiler infers the appropriate attributes by default, isn't
1. a default attribute redundant and 2. specifying inference
redundant as the compiler defaults to inferring?
* I'm concerned user defined attributes could define a
"defaults" for functions.
you mean user UDAs (if not please explain)? the default
application of UDA is for core attributes only.
Yes I'm User's UDA (user defined attributes). I expected it
wouldn't apply outside the context of core.attributes.
The compiler will default functions to the first value of the
enum [for my example].
( That would provide a pessimistic default and debates the
ability for the compiler to infer)
Yes, just throwing in an example structure and why I mentioned
[for my example]. But as said earlier infer and default are at
odds.
[So on and so forth]
Thanks for your suggestions.
[1]: https://wiki.dlang.org/Vision/2017H2