# Finding edge cases for PEPs 484, 563, and 649 (type annotations)

**URL:** <https://discuss.python.org/t/finding-edge-cases-for-peps-484-563-and-649-type-annotations/14314>\
**Category:** PEPs\
**Created:** [March 15, 2022, 9:45pm UTC](https://discuss.python.org/t/finding-edge-cases-for-peps-484-563-and-649-type-annotations/14314 "2022-03-15T21:45:56Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![brettcannon](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/brettcannon/32/34895_2.png) [@brettcannon](https://discuss.python.org/u/brettcannon)\
**Post date:** [March 15, 2022, 9:47pm UTC](https://discuss.python.org/t/finding-edge-cases-for-peps-484-563-and-649-type-annotations/14314/2 "2022-03-15T21:47:08Z")

</div>

# Edge case: forward references

Referencing a class within its own type annotations.

```Python
class BinaryTree:
    value: Any | None
    lhs: BinaryTree | None
    rhs: BinaryTree | None

```

# Fails for …

- Executed at runtime (PEP 484)

---

_[View the full topic](https://discuss.python.org/t/finding-edge-cases-for-peps-484-563-and-649-type-annotations/14314)._
