Our screeners provide specific live exercises, looking for problem-solving ability, depth of experience, communication ability, and creativity.
Much of the time, a simple type alias to an object type acts very similarly to an interface.
However, and as soon as you need to compose two or more types, you have the option of extending those types with an interface, or intersecting them in a type alias, and that's when the differences start to matter.
Interfaces create a single flat object type that detects property conflicts, which are usually important to resolve! Intersections on the other hand just recursively merge properties, and in some cases produce never. Interfaces also display consistently better, whereas type aliases to intersections can't be displayed in part of other intersections. Type relationships between interfaces are also cached, as opposed to intersection types as a whole. A final noteworthy difference is that when checking against a target intersection type, every constituent is checked before checking against the "effective"/"flattened" type.
For this reason, extending types with interfaces/extends is suggested over creating intersection types.
А что если сделать автогенерацию trait-ов, типа IntoSafe?
Скорее конвертация опасных и не пригодных для &dyn SomeUnsafeTrait.
А ещё, почему не сделать подержку синтаксиса $dyn Foo + Bar?
Эти то идеи надеюсь очевидно бьют по репутации Rust)
Во вторых в соответствии с правилами безопасности пароль никогда не должен покидать клиентское устройство, отправлять можно только хэш пароля, а шифрование пароля должно быть исключительно на клиентском устройстве
2. Что за железо?
3. Перегрева нет?