The meaning of the word "bug" is sometimes informal, sometimes formal, sometimes contentious, even, sometimes, defined by contract. I've worked on projects where we were charged penalties for each and every bug found after a certain date; in a situation like that, the definition is clearly spelled out in the contract.
Avoid the whole argument
If your situation isn't so rigorous, but people are still being contentious, I'd advise avoiding "bug" completely and lean toward using these alternative terms:
An implementation defect is present when expected behavior does not match actual behavior. Behavior can only be "expected" in the presence of a requirement-- no "I just don't like it!" kind of issues are allowed. Implementation defects are caused and resolved by developers.
A design defect is present when behavior matches the design, but the design does not meet the requirements. In other words, a mismapping occured when converting system requirements into derived software requirements. These are caused and resolved by architects or technical business analysts.
A requirements defect is present when behavior matches the requirements but the requirements do not match the mission statement of the application; in other words, there is an error in the traceability mapping between business requirements and system requirements. These are caused and resolved by stakeholders or business analysts. (Note: When these arise, it is important to update documentation and inform QA so they can update their test cases).
A requirements gap is present when a behavior is not inconsistent with stated requirements, but yet seems wrong and is probably something nobody thought of.
In your case, the feature B hasn't been implemented yet, so you do not have an implementation defect. It is probably a design defect or a requirements gap.