Thread overview
[Issue 18209] std.uni.byGrapheme is not usable in CTFE
Jan 08, 2018
Jack Stouffer
Jan 09, 2018
Basile B.
Jan 09, 2018
Jack Stouffer
Jan 09, 2018
Jack Stouffer
Jan 13, 2018
Basile B.
Dec 17, 2022
Iain Buclaw
January 08, 2018
https://issues.dlang.org/show_bug.cgi?id=18209

Jack Stouffer <jack@jackstouffer.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jack@jackstouffer.com

--- Comment #1 from Jack Stouffer <jack@jackstouffer.com> ---
Pretty sure there's a way to change a struct's layout if it's being used in compile time. All that needs to be done is just bring the fields out of the union when used in CTFE.

--
January 09, 2018
https://issues.dlang.org/show_bug.cgi?id=18209

Basile B. <b2.temp@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|18205                       |


Referenced Issues:

https://issues.dlang.org/show_bug.cgi?id=18205
[Issue 18205] Format string with width specification doesn't work with
multibyte characters
--
January 09, 2018
https://issues.dlang.org/show_bug.cgi?id=18209

--- Comment #2 from Jack Stouffer <jack@jackstouffer.com> ---
(In reply to Jack Stouffer from comment #1)
> Pretty sure there's a way to change a struct's layout if it's being used in compile time. All that needs to be done is just bring the fields out of the union when used in CTFE.

Apparently this isn't possible.

There are two ways of fixing this

1. remove the small string optimization from Grapheme
2. have byGrapheme return a specialized type of Grapheme that doesn't have SSO

--
January 09, 2018
https://issues.dlang.org/show_bug.cgi?id=18209

--- Comment #3 from Jack Stouffer <jack@jackstouffer.com> ---
(In reply to Jack Stouffer from comment #2)
> Apparently this isn't possible.
> 
> There are two ways of fixing this
> 
> 1. remove the small string optimization from Grapheme
> 2. have byGrapheme return a specialized type of Grapheme that doesn't have
> SSO

Or

3. Create a special function byGraphemeCTFE which is a range of CTFEGraphemes. That way there's no performance regression

--
January 13, 2018
https://issues.dlang.org/show_bug.cgi?id=18209

Basile B. <b2.temp@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|blocker                     |enhancement

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=18209

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P4

--
December 01
https://issues.dlang.org/show_bug.cgi?id=18209

--- Comment #4 from dlangBugzillaToGithub <robert.schadek@posteo.de> ---
THIS ISSUE HAS BEEN MOVED TO GITHUB

https://github.com/dlang/phobos/issues/10289

DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB

--