# V6121. Return value is not always used. Consider inspecting the 'foo' method.

The analyzer has detected a possible error: the method return value is not used, although it is used in most other cases.

Look at the synthetic example:

    class Item {
      int getID() {
        ....
      }
    }
    class ItemController {
      int setNewItem(Item lastItem) {
        Item newItem = new Item(lastItem.getID());
        ....
        newItem.getID();                            // <=
        return newItem.getID();
      }
    }

In this example, the return value of the 'getID' method is used consistently, except for one case. If the result is not used in less 10% of the total calls, the analyzer generates a warning.

In some cases, the return value doesn't have to be used. For example, if a method has side effects (changing properties, fields, writing/reading a file, and so on), the return value can be ignored.

To mark that the behavior is intended, leave a comment next to the call where the result is ignored:

    int updateItem() {
      ....
      return 0;
    }
    ....
    void someMethod() {
      ....
      updateItem(); // ignore result
    }