News for hackers. Stuff that matters.
Re:Proposal: expression to create pointer to simple types by masklinn on Monday April 19, 2021 @11:29AM (#26863826)
> So `&` doesn't cause a heap allocation but lack of `&` (or new()) confirms that there isn't one. (I don't actually know if that is true but I can't think of any counterexamples)

I think assigning to a pointer would cause an escape.

Just taking a reference wouldn't though, the reference still has to escape (of course you'd usually take a reference so that it can escape but that's not always the case, especially with inlining).

Re:Proposal: expression to create pointer to simple types by kevincox on Monday April 19, 2021 @12:03PM (#26864285)
What do you mean by assigning to a pointer? You can only assign a pointer value to a pointer variable and you need to get that pointer from & IIUC.
Re:Proposal: expression to create pointer to simple types by masklinn on Monday April 19, 2021 @12:05PM (#26864302)
> What do you mean by assigning to a pointer?

    *x = y
Re:Proposal: expression to create pointer to simple types by kevincox on Monday April 19, 2021 @01:04PM (#26865120)
I don't think that does because IIUC you are copying the bits of y to x. So I guess semantically y has escaped but you aren't doing a new heap allocation, you are reusing the memory of x.