Thank you for the report. The issues in this ticket have been resolved: - "tmpdir doesn't appear to change directories" - &tmpdir has been removed - "Should I be able to change the temporary directory" - Yes, by assigning to $*TMPDIR directly; simply do `my $*TMPDIR = 'foo/bar'.IO`. The issue that blocked assignment was fixed[^1] and tested[^2] in 2017.04 release - "Can only use 'temp' on a container" - This too was fixed[^1] and tested[^2] in 2017.04 release
Side note: - "What's the point of it being dynamic if it can't change?" - There's no connection between dynamics and the ability to change them. Their point is scoping and not mutability; a change done to a dynamic var in some sub would still be visible up the call stack, which is why you'd usually use a `temp` or `my` on these global dynamic variables, like $*TMPDIR, to prevent your changes affecting other stuff. We do have immutable (or rather, containerless) dynamics (e.g. $*THREAD) and being unable to assign to them isn't a bug. [1] https://github.com/rakudo/rakudo/commit/b62d1a7 [2] https://github.com/perl6/roast/commit/1d4e881 -- IO grant