[File] missing interfaces / sealed interfaces
azjezz opened this issue · 1 comments
File\
seems to not provide interfaces for NonDisposable
handles, instead it provides final implementation, meaning users can't extends or wrap these implementations in any way.
another issue is that the interfaces provided in File\
are in no way consistent with IO\
, some are public, some are sealed.
example :
-
HH\Lib\Experimental\IO\ReadWriteHandle
<- public interface -
HH\Lib\Experimental\IO\NonDisposableReadWriteHandle
<- public interface -
HH\Lib\Experimental\IO\DisposableReadHandle
<- public interface -
HH\Lib\Experimental\File\ReadWriteHandle
<- sealed interface ? -
HH\Lib\Experimental\File\NonDisposableReadWriteHandle
<- final class ? -
HH\Lib\Experimental\File\DisposableReadHandle
<- public interface ?
naming convention is another issue in File\
, as it is impossible to tell the difference between interfaces and classes ( unlike IO\
where everything is an interface ).