Open ninmonkey opened 1 year ago
Possibly related, I noticed that they end up copying by value, not ref,
$serr = $error
does not.
$serr = $error
$serr2 = $error | select -first 3
$serr3 = $error[0..2]
At least in this case, $serr2, $serr3's version did not increase in count, but $serr
does.
$serr2.count; $serr.count; $serr3.Count ;1 /0; $serr2.count; $serr.count; $serr3.Count
About
Select-ObjectIndex
sometimes breaks$error
ErrorRecords
every promptPossible Causes
$local:error
vs$global:error
(Debugging inside and outside modules cope issues)$errors
a ring buffer? It wraps after index 255. Could overflowing past index255
, end up invalidating a previous reference to$error[0]
? Or would it copy the original on write?Because when debugging things, you can easily wrap 255.
To Reproduce
In my testing, it felt like it was split, either: 100% it would reproduce, or 0%
Once it starts, you can only reference the error in some ways. So when debugging it -- make sure your prompt has
$error.count
in it. In the screenshot,Select-Object
adds 3 errors, every time ( Maybe it hints to the uncaught error being fired inside the formatter? )