This makes perfect sense, and as far as I know works as long as you don't have a constructor:

struct Y {
Y(A,B); // no implicit conversion
};

However, this is where it gets interesting, the C++11 standard reads literally:

12.3.1 Conversion by constructor

A constructor declared without the function-specifier explicitthat can be called with a single parameter specifies a
conversion from the type of its first parametertypes of its parameters to the type of its class. Such a constructor is called
a converting constructor.

(italics were originally underlined, but markdown doesn't accept <u>)

This seems to suggest that it was changed that a converting constructor doesn't have to be callable "with a single parameter" and the change from "type of its first parameter" to "types of its parameters" (note the plural!) further supports this. While I would expect that "type of its first parameter" would be changed to "type of its single non-optional parameter" (1) or even "type of its parameter that received an explicit argument" (2) in order to allow these:

As a tip: when you find wording that is different between C++98/03 and C++11, it's often helpful to search for a small piece of the new text on Google (or, uh, Bing...). For example, here, a search for "types of its parameters to the type of its class" has a link to n2672 as its third result (well, fourth now, since this question is now ranked #1).
–
James McNellisNov 20 '12 at 16:04