improve docs

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
This commit is contained in:
Brent Westbrook 2025-06-10 10:33:03 -04:00
parent 75cfafd9a1
commit 021f0c01aa
1 changed files with 6 additions and 2 deletions

View File

@ -11,10 +11,13 @@ use crate::{Fix, FixAvailability, Violation};
/// not the last base class in the bases tuple.
///
/// ## Why is this bad?
///
/// If `Generic[]` is not the final class in the bases tuple, unexpected
/// behaviour can occur at runtime (See [this CPython issue][1] for an example).
/// The rule is also applied to stub files, where it won't cause issues at runtime,
/// because type checkers may also behave unpredictably in this case.
/// The rule is also applied to stub files, where it won't cause issues at
/// runtime, because type checkers may not be able to infer an accurate [MRO]
/// for the class, which could lead to unexpected or inaccurate results when
/// they analyze your code.
///
/// For example:
/// ```python
@ -47,6 +50,7 @@ use crate::{Fix, FixAvailability, Violation};
/// - [`typing.Generic` documentation](https://docs.python.org/3/library/typing.html#typing.Generic)
///
/// [1]: https://github.com/python/cpython/issues/106102
/// [MRO]: https://docs.python.org/3/glossary.html#term-method-resolution-order
#[derive(ViolationMetadata)]
pub(crate) struct GenericNotLastBaseClass;