Lambda syntax unrecognised?

I’d got an old Arduino Uno and display shield sitting in the drawer, decided to put it to use. Trying this VT100 terminal emulator project, the main file produces loads of errors. I’ve used lambdas in other languages but never in C++ so am not at all sure how they are being used here. But the problem seems to be systematic,

For example, inside a struct there’s :

[=](int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color)
    {
      tft.fillRect(x, y, w, h, color);
    },

This gives me :

no suitable conversion function from "lambda [](int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color)->void" to 
"void (*)(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color)" existsC/C++(413)

The struct it’s using has a function :

    void (*fill_rect)(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color);

I’m guessing it’s related to which compiler (flags) are in use. A clue is probably that the original file has a .ino extension. With a bit of struggle I might be able to get it going by replacing the lambdas with named functions, but as they’re new to me it seems a good opportunity to learn something…

Suggestions?

I’m using the latest PlatformIO on VSCode on Ubuntu.

platform = atmelavr
board = uno
framework = arduino

Known issue with their code: Will not compile under Arduino 1.8.13 · Issue #7 · unframework/tintty · GitHub.

Replacing all [=] with [] (just use Edit->Replace) in that code file makes the code compile, tested with

[env:uno]
platform = atmelavr
board = uno
framework = arduino
lib_deps =
   adafruit/Adafruit GFX Library@^1.11.3
   adafruit/Adafruit TouchScreen@^1.1.3  
   prenticedavid/MCUFRIEND_kbv

That worked right away, brilliant, thanks!

Fool Danny, I didn’t think to check their issues.