Skip to content

Backend library cannot be found if spelling does not use expected case

Checking whether the backend is available is done case-insensitive. However, the backend is looked up in the available_backends map using the exact spelling provided by the user.

This leads to a SIGABRT without a useful error message:

terminate called after throwing an instance of 'std::out_of_range'
  what():  unordered_map::at

I came across this issue in the capi-backend branch, but I assume it is the same across all branches.

Edited by Sebastian Kreutzer