вообще не очень понимаю, что значит любой тип. Любой enum?
любой тип struct X { x: char, y: char, } тоже получит бесплатный Option<_>
А, в этом плане. Круто!:0 А с чем-нибудь ещё такое работает? Со ссылками, например?
со ссылками, с боксами и прочими умными указателями, с коллекциями, с специальными NonZero* типами, с NonNull сырыми указателями
с энумами, конечно
Если поискать по library/ в rust репе по атрибутам rustc_layout_scalar_valid_range_start rustc_layout_scalar_valid_range_end rustc_nonnull_optimization_guaranteed То будет std::num::NonZero* std::ptr::NonNull<T> std::ptr::Unique<T> std::os::fs::BorrowedFd std::os::fs::OwnedFd std::os::windows::io::socket::BorrowedSocket std::os::windows::io::socket::OwnedSocket std::sys::solid::fs::FileDesc std::sys::solid::net::FileDesc
но есть ещё типы, которые содержат эти типы
и типы, которые их содержат
Обсуждают сегодня