diff --git a/mypy/messages.py b/mypy/messages.py
--- a/mypy/messages.py
+++ b/mypy/messages.py
@@ -54,6 +54,7 @@
     IS_CLASS_OR_STATIC,
     IS_CLASSVAR,
     IS_SETTABLE,
+    IS_VAR,
     find_member,
     get_member_flags,
     is_same_type,
@@ -1959,13 +1960,25 @@ def report_protocol_problems(
                     context,
                     code=code,
                 )
-            if class_obj and IS_SETTABLE in superflags and IS_CLASSVAR not in subflags:
+            if (
+                class_obj
+                and IS_VAR in superflags
+                and (IS_VAR in subflags and IS_CLASSVAR not in subflags)
+            ):
                 self.note(
                     "Only class variables allowed for class object access on protocols,"
                     ' {} is an instance variable of "{}"'.format(name, subtype.type.name),
                     context,
                     code=code,
                 )
+            if class_obj and IS_CLASSVAR in superflags:
+                self.note(
+                    "ClassVar protocol member {}.{} can never be matched by a class object".format(
+                        supertype.type.name, name
+                    ),
+                    context,
+                    code=code,
+                )
         self.print_more(conflict_flags, context, OFFSET, MAX_ITEMS, code=code)
 
     def pretty_overload(
@@ -2600,8 +2613,10 @@ def get_bad_protocol_flags(
             or IS_CLASS_OR_STATIC in superflags
             and IS_CLASS_OR_STATIC not in subflags
             or class_obj
-            and IS_SETTABLE in superflags
+            and IS_VAR in superflags
             and IS_CLASSVAR not in subflags
+            or class_obj
+            and IS_CLASSVAR in superflags
         ):
             bad_flags.append((name, subflags, superflags))
     return bad_flags
diff --git a/mypy/subtypes.py b/mypy/subtypes.py
--- a/mypy/subtypes.py
+++ b/mypy/subtypes.py
@@ -68,6 +68,7 @@
 IS_SETTABLE: Final = 1
 IS_CLASSVAR: Final = 2
 IS_CLASS_OR_STATIC: Final = 3
+IS_VAR: Final = 4
 
 TypeParameterChecker: _TypeAlias = Callable[[Type, Type, int, bool, "SubtypeContext"], bool]
 
@@ -1020,9 +1021,12 @@ def named_type(fullname: str) -> Instance:
                 if (IS_CLASSVAR in subflags) != (IS_CLASSVAR in superflags):
                     return False
             else:
-                if IS_SETTABLE in superflags and IS_CLASSVAR not in subflags:
+                if IS_VAR in superflags and IS_CLASSVAR not in subflags:
                     # Only class variables are allowed for class object access.
                     return False
+                if IS_CLASSVAR in superflags:
+                    # This can be never matched by a class object.
+                    return False
             if IS_SETTABLE in superflags and IS_SETTABLE not in subflags:
                 return False
             # This rule is copied from nominal check in checker.py
@@ -1118,13 +1122,17 @@ def get_member_flags(name: str, itype: Instance, class_obj: bool = False) -> set
         if isinstance(method, Decorator):
             if method.var.is_staticmethod or method.var.is_classmethod:
                 return {IS_CLASS_OR_STATIC}
+            elif method.var.is_property:
+                return {IS_VAR}
         elif method.is_property:  # this could be settable property
             assert isinstance(method, OverloadedFuncDef)
             dec = method.items[0]
             assert isinstance(dec, Decorator)
             if dec.var.is_settable_property or setattr_meth:
-                return {IS_SETTABLE}
-        return set()
+                return {IS_VAR, IS_SETTABLE}
+            else:
+                return {IS_VAR}
+        return set()  # Just a regular method
     node = info.get(name)
     if not node:
         if setattr_meth:
@@ -1137,8 +1145,10 @@ def get_member_flags(name: str, itype: Instance, class_obj: bool = False) -> set
         return set()
     v = node.node
     # just a variable
-    if isinstance(v, Var) and not v.is_property:
-        flags = set()
+    if isinstance(v, Var):
+        if v.is_property:
+            return {IS_VAR}
+        flags = {IS_VAR}
         if not v.is_final:
             flags.add(IS_SETTABLE)
         if v.is_classvar:

diff --git a/test-data/unit/check-protocols.test b/test-data/unit/check-protocols.test
--- a/test-data/unit/check-protocols.test
+++ b/test-data/unit/check-protocols.test
@@ -3182,8 +3182,21 @@ test(C)  # E: Argument 1 to "test" has incompatible type "Type[C]"; expected "P"
 test(D)  # E: Argument 1 to "test" has incompatible type "Type[D]"; expected "P" \
          # N: Only class variables allowed for class object access on protocols, foo is an instance variable of "D"
 
+[case testProtocolClassObjectClassVarRejected]
+from typing import ClassVar, Protocol
+
+class P(Protocol):
+    foo: ClassVar[int]
+
+class B:
+    foo: ClassVar[int]
+
+def test(arg: P) -> None: ...
+test(B)  # E: Argument 1 to "test" has incompatible type "Type[B]"; expected "P" \
+         # N: ClassVar protocol member P.foo can never be matched by a class object
+
 [case testProtocolClassObjectPropertyRejected]
-from typing import Protocol
+from typing import ClassVar, Protocol
 
 class P(Protocol):
     @property
@@ -3192,12 +3205,20 @@ class P(Protocol):
 class B:
     @property
     def foo(self) -> int: ...
+class C:
+    foo: int
+class D:
+    foo: ClassVar[int]
 
 def test(arg: P) -> None: ...
-# TODO: give better diagnostics in this case.
+# TODO: skip type mismatch diagnostics in this case.
 test(B)  # E: Argument 1 to "test" has incompatible type "Type[B]"; expected "P" \
          # N: Following member(s) of "B" have conflicts: \
-         # N:     foo: expected "int", got "Callable[[B], int]"
+         # N:     foo: expected "int", got "Callable[[B], int]" \
+         # N: Only class variables allowed for class object access on protocols, foo is an instance variable of "B"
+test(C)  # E: Argument 1 to "test" has incompatible type "Type[C]"; expected "P" \
+         # N: Only class variables allowed for class object access on protocols, foo is an instance variable of "C"
+test(D)  # OK
 [builtins fixtures/property.pyi]
 
 [case testProtocolClassObjectInstanceMethod]

False negative with protocols containins classvars
**Bug Report**

Some uses of protocols with ClassVars pass typechecking when they shouldn't. I've included a snippet with comments below.

**To Reproduce**

```python
from typing import Any, Protocol, ClassVar


class TestProtocol(Protocol):
    a: ClassVar[Any]


class TestClass:
    """Satisfies TestProtocol."""
    a: ClassVar = 1


def takes_instance(inst: TestProtocol) -> None:
    inst.a
    type(inst).a

takes_instance(TestClass())  # Typechecks, as it should
takes_instance(TestClass)  # Typechecks, but it blows up at runtime
```

**Expected Behavior**

The last line should not type-check.

**Actual Behavior**

The last line type-checks.

**Your Environment**

- Mypy version used: `master` branch, commit `09b8b550abe3982726047cc0ed68a9b6fa91745c`
- Mypy command-line flags:
- Mypy configuration options from `mypy.ini` (and other config files):
- Python version used: 3.10.1
- Operating system and version: macOs

Hm, yeah, I think I missed this case. Should be a trivial fix.
mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testCannotInstantiateProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testGenericMethodWithProtocol2 mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testCannotAssignNormalToProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testUnrealtedGenericProtolsEquivalent mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testAutomaticProtocolVariance mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testSimpleProtocolOneMethod mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testIndependentProtocolSubtyping mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testNoneDisablesProtocolImplementation mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testGenericSubProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolVarianceWithCallableAndList mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolAttrAccessDecoratedGetAttrDunder mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testGenericSubProtocolsExtensionInvariant mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testNoneDisablesProtocolSubclassingWithStrictOptional mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolConstraintsUnsolvableWithSelfAnnotation1 mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testSimpleProtocolOneAbstractMethod mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolsWithNoneAndStrictOptional mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testGenericSubProtocolsExtensionCovariant mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolConstraintsUnsolvableWithSelfAnnotation2 mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolMethodBodies mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testBasicSemanalErrorsInProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testSelfTypesWithProtocolsBehaveAsWithNominal mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolConstraintsUnsolvableWithSelfAnnotation3 mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testSimpleProtocolOneMethodOverride mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProhibitSelfDefinitionInProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolVarianceWithUnusedVariable mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testBadVarianceInProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testSimpleProtocolTwoMethodsMerge mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testSubtleBadVarianceInProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testGenericProtocolsInference1 mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testSimpleProtocolTwoMethodsExtend mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolAndRuntimeAreDefinedAlsoInTypingExtensions mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testRecursiveProtocols1 mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolMethodVsAttributeErrors mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolGenericInference2 mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolsCannotInheritFromNormal mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testRecursiveProtocols2 mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolMethodVsAttributeErrors2 mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolGenericInferenceCovariant mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testRecursiveProtocolSubtleMismatch mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolsWithIncompatibleOverloads mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testGenericMethodWithProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testPropertyInProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testJoinProtocolWithProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testMutuallyRecursiveProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testSettablePropertyInProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testMutuallyRecursiveProtocolsTypesWithSubteMismatch mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testOverloadOnProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testFinalAttributeProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testJoinOfIncompatibleProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testStaticAndClassMethodsInProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testMutuallyRecursiveProtocolsTypesWithSubteMismatchWriteable mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testJoinProtocolWithNormal mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testBasicUnionsOfProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testMeetProtocolWithProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testOverloadedMethodsInProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testUnionsOfNormalClassesWithProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testTwoUncomfortablyIncompatibleProtocolsWithoutRunningInIssue9771 mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testMeetOfIncompatibleProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testCannotInstantiateProtocolWithOverloadedUnimplementedMethod mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testInstantiationProtocolInTypeForFunctions mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testMeetProtocolWithNormal mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testCanUseOverloadedImplementationsInProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testInstantiationProtocolInTypeForAliases mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testHashable mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testInferProtocolFromProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testInstantiationProtocolInTypeForVariables mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolsWithIdenticalOverloads mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testInstantiationProtocolInTypeForClassMethods mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testCannotInstantiateAbstractMethodExplicitProtocolSubtypes mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testCannotInstantiateAbstractVariableExplicitProtocolSubtypes mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testErrorsForProtocolsInDifferentPlaces mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testMoreComplexCallableStructuralSubtyping mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testSimpleRuntimeProtocolCheck mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testClassVarsInProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testIterableProtocolOnClass mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testStructuralSupportForPartial mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolIncompatibilityWithGenericMethodBounded mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testIterableProtocolOnMetaclass mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolIncompatibilityWithGenericRestricted mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testStructuralInferenceForCallable mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testRuntimeIterableProtocolCheck mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolIncompatibilityWithManyOverloads mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testBasicSizedProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testClassesGetattrWithProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolIncompatibilityWithManyConflicts mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testBasicSupportsIntProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testImplicitTypesInProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testConcreteClassesInProtocolsIsInstance mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolIncompatibilityWithGenericMethod mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testAnyWithProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testNoneSubtypeOfAllProtocolsWithoutStrictOptional mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testNotManyFlagConflitsShownInProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testNoneSubtypeOfEmptyProtocolStrict mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolIncompatibilityWithUnionType mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolsMoreConflictsNotShown mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testDontShowNotesForTupleAndIterableProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testOnlyMethodProtocolUsableWithIsSubclass mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolNotesForComplexSignatures mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testConcreteClassesUnionInProtocolsIsInstance mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testCallableImplementsProtocolGenericTight mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testObjectAllowedInProtocolBases mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testBasicTupleStructuralSubtyping mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testCallableImplementsProtocolGenericNotGeneric mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testNoneSubtypeOfEmptyProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testCallableImplementsProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testCallableImplementsProtocolOverload mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testBasicNamedTupleStructuralSubtyping mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolVarianceAfterDecorators mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testCallableImplementsProtocolGeneric mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testCallableImplementsProtocolExtraNote mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testBasicCallableStructuralSubtyping mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testNamedTupleWithNoArgsCallableField mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testCallableProtocolVsProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testCallableImplementsProtocolArgName mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolWithSlots mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testJoinProtocolCallback mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testNamedTupleWithManyArgsCallableField mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testNoneVsProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testMeetProtocolCallback mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testPartialAttributeNoneType mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testPartialTypeProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testLiteralsAgainstProtocols mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testPartialAttributeNoneTypeStrictOptional mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testPartialTypeProtocolHashable mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolsAlwaysABCs mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolAndTypeVariableSpecialCase mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testMatchProtocolAgainstOverloadWithAmbiguity mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testEmptyBodyNoneCompatibleProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testEmptyBodyImplicitlyAbstractProtocolProperty mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolWithNestedClass mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testMatchProtocolAgainstOverloadWithMultipleMatchingItems mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testEmptyBodyWithFinal mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolClassObjectAttribute mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testEmptyBodyImplicitlyAbstractProtocolStub mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolClassObjectInstanceMethod mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testEmptyBodyVariationsImplicitlyAbstractProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolClassObjectClassMethod mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testEmptyBodyImplicitlyAbstractProtocol mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolClassObjectInstanceMethodArg mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolClassObjectGenericInstanceMethod mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolClassObjectSelfTypeInstanceMethod mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolClassObjectGenericClassMethod mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolClassObjectStaticMethod mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolClassObjectInstanceMethodOverloaded mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolClassObjectAttributeAndCall mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolClassObjectSelfTypeClassMethod mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolTypeTypeInstanceMethod mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolClassObjectInference mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolTypeTypeAttribute mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolTypeTypeClassMethod mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testTypeAliasInProtocolBody mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolTypeTypeSelfTypeInstanceMethod mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testModuleAsProtocolImplementationInference mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolTypeTypeInference mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testTypeVarInProtocolBody mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testModuleAsProtocolImplementationClassVar mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testModuleAsProtocolImplementation mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testModuleAsProtocolImplementationClassObject mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testModuleAsProtocolImplementationTypeAlias mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testModuleAsProtocolImplementationFinal
mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolClassObjectClassVarRejected mypy/test/testcheck.py::TypeCheckSuite::check-protocols.test::testProtocolClassObjectPropertyRejected