bpo-33100: Dataclasses now handles __slots__ and default values correctly. (GH-6152)

If the class has a member that's a MemberDescriptorType, it's not a default value, it's from that member being in __slots__.
diff --git a/Lib/dataclasses.py b/Lib/dataclasses.py
index 8ab04dd..a4afd50 100644
--- a/Lib/dataclasses.py
+++ b/Lib/dataclasses.py
@@ -519,6 +519,9 @@
     if isinstance(default, Field):
         f = default
     else:
+        if isinstance(default, types.MemberDescriptorType):
+            # This is a field in __slots__, so it has no default value.
+            default = MISSING
         f = field(default=default)
 
     # Assume it's a normal field until proven otherwise.