-preview=in might break code

Imperatorn johan_forsberg_86 at hotmail.com
Fri Oct 2 14:32:40 UTC 2020


On Friday, 2 October 2020 at 14:08:29 UTC, Steven Schveighoffer 
wrote:
> Is there a way to prevent this?
>
> import std.stdio;
> struct S(size_t elems)
> {
>     int[elems] data;
> }
>
> void foo(T)(in T constdata, ref T normaldata)
> {
>     normaldata.data[0] = 1;
>     writeln(constdata.data[0]);
> }
> void main()
> {
>     S!1 smallval;
>     foo(smallval, smallval);
>     S!100 largeval;
>     foo(largeval, largeval);
> }
>
>
> Compile without -preview=in, it prints:
>
> 0
> 0
>
> Compile with -preview=in, it prints:
>
> 0
> 1
>
> -Steve

Hmm, that doesn't look good 🤔


More information about the Digitalmars-d mailing list