Date: Sat, 13 Dec 2025 13:33:21 +0100
btw
how this will work with `goto`?
Its legal to go back in same scope and then we can have situation like:
```
std::string x = "1234567890";
TAG:
x += "aaaa";
undecl x;
if (x.size() < 100) goto TAG;
```
without `undecl` this is valid code.
sob., 13 gru 2025 o 05:03 SD SH via Std-Proposals
<std-proposals_at_[hidden]> napisał(a):
>
> >Moving has to keep the object in a valid state.
>
> The destructor will be called same as origin.
>
> >Calling the destructor would probably lead to double-destruction.
>
> Moving and destructing are additional operations. This feature not be used to do these things.
> Calling destructor leads double-destruction. I hope there is a way to end objects early and explicitly if we need, but using obj.~T() or std::destruct_at(&obj) may be incorrect.
>
> It isn't directly related to the feature we are talking, sorry that I talking far ahead.
>
> ________________________________
> 发件人: Std-Proposals <std-proposals-bounces_at_[hidden]> 代表 Sebastian Wittmeier via Std-Proposals <std-proposals_at_[hidden]>
> 发送时间: 2025年12月13日 10:47
> 收件人: std-proposals_at_[hidden] <std-proposals_at_[hidden]>
> 抄送: Sebastian Wittmeier <wittmeier_at_[hidden]>
> 主题: Re: [std-proposals] 回复: 回复: 回复: [PXXXXR0] Add a New Keyword ‘undecl’
>
>
> The cleanest approach is to relocate (trivial relocatability was delayed for after C++26) the object into nothing.
>
>
>
> That would probably just destruct it, but the compiler would know, not to destruct it a second time.
>
>
>
> Moving has to keep the object in a valid state.
>
>
>
> Calling the destructor would probably lead to double-destruction.
>
>
> -----Ursprüngliche Nachricht-----
> Von: SD SH <Z5515zwy_at_[hidden]>
> Gesendet: Sa 13.12.2025 02:20
> Betreff: Re: [std-proposals] 回复: 回复: 回复: [PXXXXR0] Add a New Keyword ‘undecl’
> An: std-proposals_at_[hidden];
> CC: Sebastian Wittmeier <wittmeier_at_[hidden]>;
> Thinking of more cases, we can move the object, call the destructor, use std::destroy_at or just do nothing until it end, so changing lifetimes is not necessary and it will introduce trouble in managing a object.
>
> --
> Std-Proposals mailing list
> Std-Proposals_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
how this will work with `goto`?
Its legal to go back in same scope and then we can have situation like:
```
std::string x = "1234567890";
TAG:
x += "aaaa";
undecl x;
if (x.size() < 100) goto TAG;
```
without `undecl` this is valid code.
sob., 13 gru 2025 o 05:03 SD SH via Std-Proposals
<std-proposals_at_[hidden]> napisał(a):
>
> >Moving has to keep the object in a valid state.
>
> The destructor will be called same as origin.
>
> >Calling the destructor would probably lead to double-destruction.
>
> Moving and destructing are additional operations. This feature not be used to do these things.
> Calling destructor leads double-destruction. I hope there is a way to end objects early and explicitly if we need, but using obj.~T() or std::destruct_at(&obj) may be incorrect.
>
> It isn't directly related to the feature we are talking, sorry that I talking far ahead.
>
> ________________________________
> 发件人: Std-Proposals <std-proposals-bounces_at_[hidden]> 代表 Sebastian Wittmeier via Std-Proposals <std-proposals_at_[hidden]>
> 发送时间: 2025年12月13日 10:47
> 收件人: std-proposals_at_[hidden] <std-proposals_at_[hidden]>
> 抄送: Sebastian Wittmeier <wittmeier_at_[hidden]>
> 主题: Re: [std-proposals] 回复: 回复: 回复: [PXXXXR0] Add a New Keyword ‘undecl’
>
>
> The cleanest approach is to relocate (trivial relocatability was delayed for after C++26) the object into nothing.
>
>
>
> That would probably just destruct it, but the compiler would know, not to destruct it a second time.
>
>
>
> Moving has to keep the object in a valid state.
>
>
>
> Calling the destructor would probably lead to double-destruction.
>
>
> -----Ursprüngliche Nachricht-----
> Von: SD SH <Z5515zwy_at_[hidden]>
> Gesendet: Sa 13.12.2025 02:20
> Betreff: Re: [std-proposals] 回复: 回复: 回复: [PXXXXR0] Add a New Keyword ‘undecl’
> An: std-proposals_at_[hidden];
> CC: Sebastian Wittmeier <wittmeier_at_[hidden]>;
> Thinking of more cases, we can move the object, call the destructor, use std::destroy_at or just do nothing until it end, so changing lifetimes is not necessary and it will introduce trouble in managing a object.
>
> --
> Std-Proposals mailing list
> Std-Proposals_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
Received on 2025-12-13 12:33:34
