Bug 10127 – TypeEnum in std.variant

Status
NEW
Severity
enhancement
Priority
P4
Component
phobos
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-05-21T01:24:15Z
Last change time
2024-12-01T16:17:37Z
Assigned to
No Owner
Creator
Diggory
Moved to GitHub: phobos#9975 →

Comments

Comment #0 by diggsey — 2013-05-21T01:24:15Z
It would be useful to use the tag part of a tagged union on its own, and it would fit in well with the rest of std.variant. It's not always the case that you want to store actual data, sometimes you just need to store the type. Also sometimes you need to store the data somewhere else or store it in such a way that you can specify the type first and fill in the data later. eg. alias TypeEnum!( void, byte, short, string, Object ) TestTypeEnum; TestTypeEnum test; assert(test == TestTypeEnum.from!void); assert(test != TestTypeEnum.from!byte); test = TestTypeEnum.from!string; assert(test == TestTypeEnum.from!string); assert(test != TestTypeEnum.from!Object); static assert(!__traits(compiles, TestTypeEnum.from!float)); (pull request shortly)
Comment #1 by diggsey — 2013-05-21T01:27:18Z
Comment #2 by robert.schadek — 2024-12-01T16:17:37Z
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/phobos/issues/9975 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB