+ 1 + ...?
(например если мне нужно сделать HashMap::with_capacity($v)>
Никак 🙃
Максимум что я видел это более "эфективная" реализация через сдвиг вместо сложения; найти бы
было где-то issue\rfc на эту тему, но буксует, как всегда
да я нашёл но не смог понять пришло оно куда-то в итоге или нет
во: https://veykril.github.io/tlborm/decl-macros/macros2.html macro count_tts { () => { 0 }, ($odd:tt $($a:tt $b:tt)*) => { (count_tts!($($a)*) << 1) | 1 }, ($($a:tt $even:tt)*) => { count_tts!($($a)*) << 1 }, }
Соответственно оно логорифмически жрёт лимит рекурсии, а не линейно
зацените какой восхитительный костыль для нахождения длины перечисления в macro_rules! https://docs.rs/indexmap/latest/src/indexmap/macros.rs.html#23
что не очень сочетается с тем, что я сказал до этого, кек для меня [()].len() не сильно отличается от 0 + 1, та же идея
и то и другое достаточно фигово, неужели нельзя на уровне языка сделать норм способ для этого
Обсуждают сегодня