digitalmars.D.learn - bug in doc?
- spir (12/12) Mar 14 2019 https://dlang.org/spec/hash-map.html#static_initialization:
- Andrea Fontana (14/20) Mar 14 2019 If I'm right, you can't use this syntax with global array. Insted
- Adam D. Ruppe (4/5) Mar 14 2019 Well, bug in implementation. That is *supposed* to work, but the
- Daniel N (2/7) Mar 14 2019 Especially since it's hard to workaround inside function scope.
https://dlang.org/spec/hash-map.html#static_initialization: immutable long[string] aa = [ "foo": 5, "bar": 10, "baz": 2000 ]; ==> Error: non-constant expression `["foo":5L, "bar":10L, "baz":2000L]` Also: I don't understand the error message: * What is non-constant in the *expression*? * And why should it be constant at all? (Removing "immutable" does not help...) diniz
Mar 14 2019
On Thursday, 14 March 2019 at 14:22:52 UTC, spir wrote:https://dlang.org/spec/hash-map.html#static_initialization: immutable long[string] aa = [ "foo": 5, "bar": 10, "baz": 2000 ];If I'm right, you can't use this syntax with global array. Insted this works: void main() { immutable long[string] aa = [ "foo": 5, "bar": 10, "baz": 2000 ]; } You should init global AAs using static this() { } as explained in the same doc Andrea
Mar 14 2019
On Thursday, 14 March 2019 at 14:22:52 UTC, spir wrote:https://dlang.org/spec/hash-map.html#static_initialization:Well, bug in implementation. That is *supposed* to work, but the compiler never implemented it. The docs really should point out this fact explicitly, though.
Mar 14 2019
On Thursday, 14 March 2019 at 14:47:18 UTC, Adam D. Ruppe wrote:On Thursday, 14 March 2019 at 14:22:52 UTC, spir wrote:Especially since it's hard to workaround inside function scope.https://dlang.org/spec/hash-map.html#static_initialization:Well, bug in implementation. That is *supposed* to work, but the compiler never implemented it. The docs really should point out this fact explicitly, though.
Mar 14 2019