The function `eieio--known-slot-name-p' is used by some eieio functions (specifically eieio-oref, eieio-oref-default, and eieio-oset-default) to check whether a slot name is known or not, and if not signals an "Unknown slot" warning. Structs do not make their slots known to `eieio--known-slot-name-p', so the warning is signaled even for valid slot names. Since eieio aims for compatibility with defstruct, this should probably be considered a bug. The function `eieio--known-slot-name-p' checks the variable `eieio--known-slot-names' but also has a fallback for the name's `slot-name' property. In the patch I opted to use the latter.