Date: Thu, 11 Dec 2025 22:59:10 +0000
On Tuesday, December 9th, 2025 at 5:35 PM, Breno Guimarães via Std-Proposals <std-proposals_at_[hidden]> wrote:
> The paper says that undecl can only be called in the same brace level as the declaration. So I guess this example isn't valid.
So at least the list of destructors to call
during stack unwinding isn't dynamic :)
But question remains. Consider
vector a = f1();
vector b = f2();
foo(); // throw?
undecl a;
undecl b;
If foo() does not throw, presumably
we destruct a then b; if it throws, we
then destruct b then a? Besides,
I'm not sure whether the first case
is implementable in all unwinding
ABIs. Please check with implementers.
> The paper says that undecl can only be called in the same brace level as the declaration. So I guess this example isn't valid.
So at least the list of destructors to call
during stack unwinding isn't dynamic :)
But question remains. Consider
vector a = f1();
vector b = f2();
foo(); // throw?
undecl a;
undecl b;
If foo() does not throw, presumably
we destruct a then b; if it throws, we
then destruct b then a? Besides,
I'm not sure whether the first case
is implementable in all unwinding
ABIs. Please check with implementers.
--
Zhihao Yuan, ID lichray
The best way to predict the future is to invent it.
_______________________________________________
> Em ter., 9 de dez. de 2025, 22:29, Sebastian Wittmeier via Std-Proposals <std-proposals_at_[hidden]> escreveu:
>
> > undeclaring a variable is the same as relocating from a variable to nothingness (or to somewhere else).
> >
> > A variable, which was relocated from, may also not be used any longer afterwards.
> >
> > One detail may be the difference between position in the program (source code line within the block) and program flow.
> >
> > int a = -1;
> >
> > for (int i = 0; i < 10; i++) {
> >
> > if (i == 5)
> >
> > a++; // can a be used here?
> >
> > if (i == 4)
> >
> > undecl a;
> >
> > if (i == 5)
> >
> > a++; // and here?
> >
> > }
> >
> > > -----Ursprüngliche Nachricht-----
> > > Von: wjf via Std-Proposals <std-proposals_at_[hidden]>
> > > Gesendet: Mi 10.12.2025 02:23
> > > Betreff: [std-proposals] [PXXXXR0] Add a New Keyword `undecl`
> > > Anlage: Add_New_Keyword_undecl.pdf
> > > An: std-proposals <std-proposals_at_[hidden]>;
> > > CC: wjf <wjf_at_[hidden]>;
> > > see attachment
> > >
> > > wjfwjf_at_[hidden]
> > >
> > > --
> > > Std-Proposals mailing list
> > > Std-Proposals_at_[hidden]
> > > https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
> > >
> >
> > --
> > Std-Proposals mailing list
> > Std-Proposals_at_[hidden]
> > https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
Received on 2025-12-11 22:59:17
