Giter VIP home page Giter VIP logo

protoc-gen-ext's People

Contributors

conradhanson avatar eitanya avatar ilackarms avatar sam-heilbron avatar sodman avatar yuval-k avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

protoc-gen-ext's Issues

Hasher ignores field names which can cause collisions

By only including only the field value (and ignoring the field name) in the hasher, the following objects can collide:

collidableType {
  a string
  b string
}

first = collidableType {
  a: "value"
}

second = collidableType {
  b: "value"
}

Since properties a and b have the same type and value, when the hasher evaluates the first and second it will produce identical hashes, even though they are distinct.

Clone behavior on maps is _marginally_ different than vanilla Proto.Clone()

When playing around with protoc-gen-ext v0.0.16 and using option (extproto.clone_all) = true;, I've noticed an inconsitency from the generated object.Clone() methods vs. the previously-used proto.Clone(object) method. Specifically:

The nested field of UpstreamSpec.Selector changed how it is cloned in the default case. Where previously no provided value --> clone would equate to nil, now a clone generates an empty map: map[string]string{}.

While not a breaking (or important) change at the moment, I'm documenting this, as there may be (as of now) unforeseen consequences to changing default map values on clone.

Further (potentially better-written) context by @sam-heilbron: solo-io/gloo#5658 (comment)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.