https://issues.dlang.org/show_bug.cgi?id=18472
--- Comment #6 from Mike Franklin <[email protected]> --- (In reply to Rainer Schuetze from comment #5) > Here's a simpler test case: > > module betterc; > enum b = typeid(size_t) is typeid(uint); At https://dlang.org/spec/betterc.html under the "Not Available" section: > 2. TypeInfo and ModuleInfo So, it is by design that any call to `typeid` is going to fail when compiled with `-betterC`. This specific issue is about not being able to use `format` in `-betterC`. Perhaps the reason for that is because `format` relies on runtime type information (i.e. TypeInfo). So the solution, specific to this issue, would not be allow uses of `typeid` in `-betterC`, but rather to remove the dependency of `format` on runtime type information (if that's even possible). D has excellent facilities for doing introspection at compile-time, so it may be possible to look to those facilities in concert with templates to find a solution that does not rely on runtime type information. It would likely also help to begin replacing compiler-generated calls to runtime hooks that depend on `TypeInfo` with templates. See also https://forum.dlang.org/post/[email protected] --
