¿Cómo acceder a un mapeo en una biblioteca?

library Lib{
    struct Data {
        mapping (uint => uint) a;
    }

    function inc(Data self) internal{
        self.a[0] =+1;
    }
}
contract Example{

    address recipient = 0x0000cafebabe;

    Lib.Data data;

    function send(){
        Lib.inc(data);
    }
}

lleva al error

7:9: Error: el miembro "a" no está disponible en la estructura Memoria de datos fuera del almacenamiento.
        self.a[0] =+1;
        ^----^

Respuestas (1)

Haz que tu código cambie como se muestra a continuación

function inc(Data storage self) internal{
        self.a[0]=+1;
    }

Tenga en cuenta la storageparte de la misma. Comprenda los conceptos de tipos internos para variables y tipos en memoria

wow, no sabía, necesito verificar este lunes, debo ir a la carrera de F1 con mi padre mañana