### What it does Allows users to configure types which should not be held across `await` suspension points. ### Why is this bad? There are some types which are perfectly "safe" to be used concurrently from a memory access perspective but will cause bugs at runtime if they are held in such a way. ### Example ``` await-holding-invalid-types = [ # You can specify a type name "CustomLockType", # You can (optionally) specify a reason { path = "OtherCustomLockType", reason = "Relies on a thread local" } ] ``` ``` struct CustomLockType; struct OtherCustomLockType; async fn foo() { let _x = CustomLockType; let _y = OtherCustomLockType; baz().await; // Lint violation } ```