missing HexString documentation

Ralph Doncaster nerdralph at github.com
Thu Feb 8 18:42:25 UTC 2018


On Thursday, 8 February 2018 at 18:31:06 UTC, Walter Bright wrote:
> On 2/8/2018 5:26 AM, Steven Schveighoffer wrote:
>> The extra data in the object file comes from the inclusion of 
>> the hexStringImpl function, and from the template parameter 
>> (the symbol 
>> _D3std4conv__T9hexStringVAyaa8_6465616462656566ZQBiyAa is in 
>> there as well, which will always be larger than the actual 
>> string passed to hexString).
>> 
>> I also see the data in there twice for some reason.
>
> This is no longer the case with the PR.
>
>   import std.conv;
>
>   void test() {
>     __gshared immutable char[4] s = hexString!"deadbeef";
>   }
>
> produces the following, with no sign of the template and the 
> data is there only once:
>
> _DATA	segment
> _D5test24testFZ1syG4a:
> 	db	0ffffffdeh,0ffffffadh,0ffffffbeh,0ffffffefh	;....
> _DATA	ends

But it looks like they are all dchar, so 4x the space vs 
x"deadbeef"?


More information about the Digitalmars-d mailing list