title: Go protobuf not recognizing identical packages
body: <p>I have some code that uses google protobuf. These are the source files:</p>
  
  <p>Proto file:</p>
  
  <pre><code>syntax = "proto3";
  
  package my_package.protocol;
  option go_package = "protocol";
  
  import "github.com/golang/protobuf/ptypes/empty/empty.proto";
  
  ...
  
  service MyService {
      rpc Flush        (google.protobuf.Empty) returns (google.protobuf.Empty);
  }
  </code></pre>
  
  <p>Compiled go file:</p>
  
  <pre><code>package protocol
  
  import proto "github.com/golang/protobuf/proto"
  import fmt "fmt"
  import math "math"
  import google_protobuf "github.com/golang/protobuf/ptypes/empty"
  
  import (
      context "golang.org/x/net/context"
      grpc "google.golang.org/grpc"
  )
  
  ...
  
  type MyServiceClient interface {
      Flush(ctx context.Context, in *google_protobuf.Empty, opts ...grpc.CallOption) (*google_protobuf.Empty, error)
  }
  </code></pre>
  
  <p>And when I finally try to use the compiled service like this:</p>
  
  <pre><code>import (
      "golang.org/x/net/context"
  
      pb "myproject/protocol"
  
      google_protobuf "github.com/golang/protobuf/ptypes/empty"
  )
  ...
  func Flush(sink pb.MyServiceClient) {
      _, err = sink.Flush(context.Background(), *google_protobuf.Empty{})
      ...
  }
  </code></pre>
  
  <p>I get the following error:</p>
  
  <blockquote>
    <p>Cannot use '*google_protobuf.Empty{}' (type
    "myproject/vendor/github.com/golang/protobuf/ptypes/empty".Empty) as
    type
    "myproject/vendor/github.com/golang/protobuf/ptypes/empty".*google_protobuf.Empty</p>
  </blockquote>
  
  <p>Which are the same thing (they even resolve to the same file). What am I missing here?</p>