Reject escaping use of 'this' in disposable implementation
Summary:
Continuing the implementation of type-checker rules that ensure that disposables are created and
disposed only via `using` clauses, we now outlaw the use of `$this` in implementations of
`IDisposable` or `IAsyncDisposable` except as method receivers or when passed as parameters
marked with the attribute `<<__AcceptDisposable>>`. Note that the testing of the type of `$this`
against `IDisposable` or `IAsyncDisposable` also catches the case of traits marked `require implements IDisposable`
and similar.
Reviewed By: KendallHopkins
Differential Revision:
D6413708
fbshipit-source-id:
da5ca2e60ba872954f9a32049667a3afcbd2eadb