<whitequark[cis]>
all right, let's try out PyPI's/GitHub's new model for publishing packages (that I think is quite a lot better than the existing one)
<_whitenotifier>
[YoWASP/nextpnr] ... and 82 more commits.
<whitequark[cis]>
okay, I think that should finish the conversion of token-based PyPI auth to something more like RBAC
<whitequark[cis]>
i.e. "this workflow is allowed to publish"
<cr1901>
Also that should be "if fsm.just_entered(state)". Basically, I need a strobe when certain states are entered.
<cr1901>
Actually, I can do this in terms of ongoing, but it's cursed
<cr1901>
(bitvector of fsm.ongoing("state") and prev bitvector of fsm.ongoing("state"))
<whitequark[cis]>
yep
<whitequark[cis]>
Migen had such functionality, but it was prone to creating combinatorial loops in some cases
<whitequark[cis]>
so I cut all of it
<cr1901>
I don't think the bitvector approach is better as a user.
<whitequark[cis]>
so after_entering and after_leaving were fine, but before_entering and before_leaving weren't
<whitequark[cis]>
however I didn't feel like removing only half of them
<whitequark[cis]>
instead I planned to rethink the whole approach and see what the actual needs are
<cr1901>
My main gripe is having to create and split the bitvectors manually, and those will change every time I add/delete a state. Is there a way to iterate over state names?
<cr1901>
>those will change every time I add/delete a state (yes, this is hypothetical right now. I already know all the states.)
<whitequark[cis]>
this is general, not specific to amaranth
<whitequark[cis]>
Python only removes variables in a few special cases... I think when you're using exceptions it sets e to None or something like that?
<whitequark[cis]>
but you do keep the variable after for, after with, after if
<cr1901>
where does the context manager modify state's width?
<cr1901>
(I did self.state CTRL+F, but that didn't return much)
<whitequark[cis]>
dsl.py:464
<cr1901>
Okay cool. Well, I'll deal with this. >instead I planned to rethink the whole approach and see what the actual needs are <-- Well, I needed a "just entered" strobe :P.