Templates automatically infer their attributes based on the input, so you don't have to specify them there. If you do a foo!(nothrow_function)(), foo is also nothrow (unless, of course, it throws!)