learning rust macro