I will point out that this is the CURRENT STABLE version. $ grep rule_generator /usr/portage/sys-fs/udev/udev-171-r9.ebuild IUSE="build selinux test debug +rule_generator hwdb gudev introspection $(use_extras rule_generator) \ So if I have the extras USE flag set (which is masked in /usr/portage/profiles/base/package.use.mask), then udev gets compiled with rule_generator. Otherwise, there is no way to do it. Amazing.
You are not reading the udev's ebuild correctly. The separate USE flags like rule_generator, work independently from USE extras too.