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


Reply via email to