On Saturday, 23 October 2021 at 17:42:32 UTC, data pulverizer wrote:
On Saturday, 23 October 2021 at 16:39:08 UTC, data pulverizer wrote:
```
...
this(R_xlen_t n)
  {
    SEXPTYPE _real_ = SEXPTYPE.REALSXP;
    _data = protect(allocVector(_real_, n));
    unprotect(1);
  }
...
```

Looking at that code, I realise didn't need the un/protect.

Actually it's more complicated than that. On construction I do need to call `protect` and call `unprotect` or `unprotect_ptr` when the function in which the object is created returns. At the moment, I'm not even sure (or more likely do not think) that it is suitable to call it as part of the destructor. Anyway, that's an aside.

Reply via email to