The Swiss are being criticized for allowing communities to vote on who gets citizenship, and who does not. You can read about it on the BBC. The claim is that the selection process is racist, because it results in virtually no new citizens who are, you know, basically, not already Swiss. Bearing in mind that applicants must have lived in a community for 12 years, and then that community votes on whether or not you get citizenship... I'm gonna go ahead and propose that it's not Swiss immigration law that's racist. It's the Swiss.
However, and this is a BIG however... I find I am in no position to tell the Swiss populace who they want for citizens. Of their own country. It should not, but it actually surprises me that people can feel so giddy with moral high ground that they feel good deciding what other people should do. If I were Swiss, I'd probably feel differently about the Swiss immigration laws, but (and I feel this is key to the discussion)... I'm not.