такое:
                  
                  
                  struct A(i32, u8, &[B]), struct B(i32), 
                  
                  
                  transmute(&[u8]) -> &[A]
                  
                  
                  Что-то типа каста различных типов под указателями в Си
                  
                  
                  А и В - repr(c)
                  
                  
                
А такое вроде и нельзя трансмьютить, выравнивание ж как минимум:/
 mental
                          stability🥺✨
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          mental
                          stability🥺✨
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Ну, как бы сказать, там либо repr(c), либо packed. В общем, нет выравнивания, структура уже подразумевает что выравнена по 32 битам
Структура да, а вот слайс не факт И как ты это будешь сейфово проверять?:/
 mental
                          stability🥺✨
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          mental
                          stability🥺✨
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Ну мне не надо проверять. Структура packed. Мне бы просто не хотелось номом парсить и копировать что-то, хочу просто по ссылкам/указателям обращаться
Мне кажется ровно такого нет, но можешь посмотреть в сторону — ref_cast — bytemuck — slice-dst
> ref_cast Автора крейта легко угадать
да тут авторов всех крейтов легко угадать
 mental
                          stability🥺✨
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          mental
                          stability🥺✨
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  А кто? На ум только dtolnay приходит
 mental
                          stability🥺✨
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          mental
                          stability🥺✨
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Ну, в общем, из трёх только bytemuck подходит. Надеюсь, я не отстрелю себе ноги, используя его
Там есть очень хорошая документация про то, что делать, чтобы было безопасно. Вообще, если на твоей структуре работает derive(Pod), то все хорошо.
Обсуждают сегодня