(Move) push_back для вложенного вектора - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть тип данных, определенный как

let digests: vector<vector<u8>>;

В этом digests векторе, если я пытаюсь использовать push_back для вставки другого вектора в качестве следующего

let digest1: vector<u8>;
let digests: vector<vector<u8>>;

digest1 = h"00";
digests = Vector.empty<vector<u8>>();

Vector.push_back<vector<u8>>(
                &mut digests, 
                copy(digest1)
            );

тесты не пройдены на push_back со следующей ошибкой.

[106] DiscardedTransaction(TransactionOutput { write_set: WriteSet(WriteSetMut { write_set: [] }), events: [], gas_used: 0, status: Discard(VMStatus { major_status: UNKNOWN_INVARIANT_VIOLATION_ERROR, sub_status: None, message: Some("vector elem type mismatch -- expected Vector(U8), got General([])") }) })

Я немного растерялся с этой ошибкой. Кроме того, есть ли лучшие альтернативы для реализации вложенного вектора?

Я использую промежуточное представление перемещения, чтобы написать выше

1 Ответ

0 голосов
/ 15 апреля 2020

Это было определено как ошибка и исправлено здесь: https://community.libra.org/t/push-back-on-a-vector-with-other-vectors/2706/3

...