Code Monkey home page Code Monkey logo

Comments (5)

mikedilger avatar mikedilger commented on August 19, 2024

Actually it serialized as "2016-08-16T16:41:52.757059590"... which I guess breaks the "no fluff" premise of bincode... but I think the way serde is designed it leaves things up to the type definer so not much can be done about that AFAIK.

from bincode.

dtolnay avatar dtolnay commented on August 19, 2024

Looks like a bug in chrono.

https://github.com/lifthrasiir/rust-chrono/blob/d50546a5925b8689f6bcca7155a7af89f2839a32/src/naive/datetime.rs#L892

It should be calling deserializer.deserialize_str instead of deserializer.deserialize.

@mikedilger to understand why this is a problem: deserialize expects the deserializer to be able to tell from the input what data type is there. For example JSON can see a curly brace { and know that that means a map, or it can see a quote " and know that that means a string. For performance reasons bincode does not serialize any of this fluff punctuation so it has no way to tell from the input what type is there. Serde handles this by letting Deserialize implementations hint to the deserializer what type it expects to deserialize, which they do by calling methods like deserialize_str instead of plain deserialize.

from bincode.

dtolnay avatar dtolnay commented on August 19, 2024

I made a chrono PR with a fix chronotope/chrono#89.

from bincode.

lifthrasiir avatar lifthrasiir commented on August 19, 2024

@mikedilger

Actually it serialized as "2016-08-16T16:41:52.757059590"... which I guess breaks the "no fluff" premise of bincode...

I plan to do something about that in Chrono 0.3. As far as I understand, the ability to change the representation per the (de)serializer is heavily dependent of the specialization.

from bincode.

mikedilger avatar mikedilger commented on August 19, 2024

@dtolnay @lifthrasiir Thanks!

from bincode.

Related Issues (20)

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.