The following code doesn't get any warning for the types declared in implementation.
unit NoWarningIfTypeIsInImplementation;
interface
type
IWarning = interface
procedure SetTime(const AValue: String);
end;
TEmptyMethodWarning = class(TInterfacedObject, IWarning)
procedure SetTime(const AValue: String);
end;
implementation
type
INoWarning = interface
procedure SetTime(const AValue: String);
end;
TEmptyMethodNoWarning = class(TInterfacedObject, INoWarning)
procedure SetTime(const AValue: String);
end;
procedure TEmptyMethodNoWarning.SetTime(const AValue: String);
begin
end;
procedure TEmptyMethodWarning.SetTime(const AValue: String);
begin
end;
end.