www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - State of -preview=rvaluerefparam

reply Quirin Schroll <qs.il.paperinik gmail.com> writes:
Is `-preview=rvaluerefparam` going to be part of the language or 
has this course been abandoned?

For all other preview switches, I have the impression that 
they’re going to be part of the language once either the 
deprecation period is over/we get editions, or the feature is 
ironed out. In the following table, *Bugfix* means the former, 
*Feature* means the latter.

| Preview Switch        | Category |
|-----------------------|----------|
| `dip25`               | Feature  |
| `dip1000`             | Feature  |
| `dip1008`             | Feature? |
| `dip1021`             | Feature  |
| `bitfields`           | Feature  |
| `fieldwise`           | Bugfix   |
| `fixAliasThis`        | Bugfix   |
| `rvaluerefparam`      | **???**  |
| `nosharedaccess`      | Bugfix   |
| `in`                  | Bugfix   |
| `inclusiveincontracts`| Bugfix   |
| `fixImmutableConv`    | Bugfix   |
| `systemVariables`     | Feature  |

When conceptualizing or writing DIPs, it is crucial to take the 
prospected state of the language into account. For 
`rvaluerefparam`, it seems this is an abandoned path. It’s 
neither an extension of something the language can express nor is 
it a bugfix in the sense that if we could go back in time, we’d 
make it like this from the beginning.
Jun 17
next sibling parent reply Nicholas Wilson <iamthewilsonator hotmail.com> writes:
On Monday, 17 June 2024 at 13:40:34 UTC, Quirin Schroll wrote:
 Is `-preview=rvaluerefparam` going to be part of the language 
 or has this course been abandoned?
I might be misremembering, but I thought is was superseded by `-preview=in`.
Jun 18
parent Timon Gehr <timon.gehr gmx.ch> writes:
On 6/18/24 10:18, Nicholas Wilson wrote:
 On Monday, 17 June 2024 at 13:40:34 UTC, Quirin Schroll wrote:
 Is `-preview=rvaluerefparam` going to be part of the language or has 
 this course been abandoned?
I might be misremembering, but I thought is was superseded by `-preview=in`.
Well, that cannot supersede it because `in` implies `const`, and `const` is transitive.
Jun 18
prev sibling parent reply Tejas <notrealemail gmail.com> writes:
On Monday, 17 June 2024 at 13:40:34 UTC, Quirin Schroll wrote:
 Is `-preview=rvaluerefparam` going to be part of the language 
 or has this course been abandoned?

 For all other preview switches, I have the impression that 
 they’re going to be part of the language once either the 
 deprecation period is over/we get editions, or the feature is 
 ironed out. In the following table, *Bugfix* means the former, 
 *Feature* means the latter.

 | Preview Switch        | Category |
 |-----------------------|----------|
 | `dip25`               | Feature  |
 | `dip1000`             | Feature  |
 | `dip1008`             | Feature? |
 | `dip1021`             | Feature  |
 | `bitfields`           | Feature  |
 | `fieldwise`           | Bugfix   |
 | `fixAliasThis`        | Bugfix   |
 | `rvaluerefparam`      | **???**  |
 | `nosharedaccess`      | Bugfix   |
 | `in`                  | Bugfix   |
 | `inclusiveincontracts`| Bugfix   |
 | `fixImmutableConv`    | Bugfix   |
 | `systemVariables`     | Feature  |

 When conceptualizing or writing DIPs, it is crucial to take the 
 prospected state of the language into account. For 
 `rvaluerefparam`, it seems this is an abandoned path. It’s 
 neither an extension of something the language can express nor 
 is it a bugfix in the sense that if we could go back in time, 
 we’d make it like this from the beginning.
What about [Dip 1040](https://github.com/dlang/DIPs/blob/a9c553b0dbab1c2983a801b5e89b51c5c33d5180/DIPs/DIP1040.md)?
Jun 24
parent reply Quirin Schroll <qs.il.paperinik gmail.com> writes:
On Tuesday, 25 June 2024 at 00:59:34 UTC, Tejas wrote:
 On Monday, 17 June 2024 at 13:40:34 UTC, Quirin Schroll wrote:
 When conceptualizing or writing DIPs, it is crucial to take 
 the prospected state of the language into account. For 
 `rvaluerefparam`, it seems this is an abandoned path. It’s 
 neither an extension of something the language can express nor 
 is it a bugfix in the sense that if we could go back in time, 
 we’d make it like this from the beginning.
What about [Dip 1040](https://github.com/dlang/DIPs/blob/a9c553b0dbab1c2983a801b5e89b51c5c33d5180/DIPs/DIP1040.md)?
What about it? Its status is *Community Review Round 1,* it has no implementation, and it does not propose a preview switch. It’s completely unrelated as far as I can tell.
Jun 26
parent Manu <turkeyman gmail.com> writes:
Right, they are unrelated.

FWIW, -preview=3Drvaluerefparam is just kinda... sitting there. And probabl=
y
because I stopped aggressively pushing for progress. I used it plenty and
it's fine, but I can't release libs or whatever that uses it while it's
just a preview.

The question about 1040 though, isn't that DIP already like 3-4 years old?
It had community reviews, why is it stalled too? It's something D really
needs to not continue to die a slow death... which I fear has become
inevitable on the basis of progress failure.


On Thu, 27 Jun 2024 at 09:27, Quirin Schroll via Digitalmars-d <
digitalmars-d puremagic.com> wrote:

 On Tuesday, 25 June 2024 at 00:59:34 UTC, Tejas wrote:
 On Monday, 17 June 2024 at 13:40:34 UTC, Quirin Schroll wrote:
 When conceptualizing or writing DIPs, it is crucial to take
 the prospected state of the language into account. For
 `rvaluerefparam`, it seems this is an abandoned path. It=E2=80=99s
 neither an extension of something the language can express nor
 is it a bugfix in the sense that if we could go back in time,
 we=E2=80=99d make it like this from the beginning.
What about [Dip 1040](
https://github.com/dlang/DIPs/blob/a9c553b0dbab1c2983a801b5e89b51c5c33d51=
80/DIPs/DIP1040.md
 )?

 What about it? Its status is *Community Review Round 1,* it has
 no implementation, and it does not propose a preview switch. It=E2=80=99s
 completely unrelated as far as I can tell.
Jul 08