Using `simplefilter('always', category=warning_class)` means that subclasses will be considered valid by assert_warns, since that's how Python's `warnings.warn_explicit` evaluates them.

I don't think this is a problem in either case. It means assert_raises treats subclasses the same way as `try/catch`, and assert_warns treats subclasses the same way as the `warnings` module.