#include <iostream>
#include <contract>

int fun() noexcept {
	int x = 0;
	[[ assert: x < 0 ]];

	return 0;
}

int main(int argc, char**) {
	try {
		fun();
	} catch(int &ex) {
		std::cerr << "synth caught indirect: " << ex << std::endl;
	}

	return 0;
}

