pina_lints 0.12.0

Pina's official security lints: a self-contained, Dylint-compatible lint catalog with a built-in rustc driver
error: token operation uses `other_program` after the instruction established `program`
  --> $DIR/token_program.rs:38:2
   |
LL |     vault.assert_associated_token_address(owner, owner, other_program)
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: validate the token-program account once, copy its address, and pass that same value to token parsing, ATA checks, and CPI
   = note: `#[deny(require_consistent_token_program)]` on by default

error: token operation uses `token_2022::ID` after the instruction established `token::ID`
  --> $DIR/token_program.rs:44:2
   |
LL |     vault.assert_associated_token_address(owner, owner, &token_2022::ID)
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: validate the token-program account once, copy its address, and pass that same value to token parsing, ATA checks, and CPI

error: token operation uses `token_2022::ID` after the instruction established `program`
  --> $DIR/token_program.rs:68:2
   |
LL |     vault.assert_associated_token_address(owner, owner, program)
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: validate the token-program account once, copy its address, and pass that same value to token parsing, ATA checks, and CPI

error: token-program value `program` was reassigned between token operations
  --> $DIR/token_program.rs:80:2
   |
LL |     vault.assert_associated_token_address(owner, owner, program)
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: validate the token-program account once, copy its address into an immutable binding, and reuse that binding for every token operation

error: aborting due to 4 previous errors