No warning (W519, W523) if type is in impl.

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.