#include <iostream>
using namespace std;

template <unsigned int N>
struct array_wrapper {
    int arr[N];

	constexpr int const& at(int i) const {
	    return arr[i];
	}
};

template <unsigned int> struct deliberate_error;

int main() {
	constexpr array_wrapper<3> aw = { 1, 2, 3 };
	
	static_assert(aw.at(0) == 1, "");
	
	return 0;
}