pijul_org / pijul

#66 Unable to compile libpijul with Rust 1.17

Opened by clayrat, on May 3, 2017
Closed
clayrat commented on May 3, 2017

Building with cargo install pijul, here are the errors I get:

error[E0277]: the trait bound `chrono::DateTime<chrono::UTC>: serde::Serialize` is not satisfied                                                       
  --> ...\libpijul-0.5.3\src\patch.rs:32:17                                             
   |                                                                                                                                                   
32 | #[derive(Debug, Serialize, Deserialize)]                                                                                                          
   |                 ^^^^^^^^^ the trait `serde::Serialize` is not implemented for `chrono::DateTime<chrono::UTC>`                                     
   |                                                                                                                                                   
   = note: required by `serde::ser::SerializeStruct::serialize_field`                                                                                  
                                                                                                                                                       
error[E0277]: the trait bound `chrono::DateTime<chrono::UTC>: serde::Deserialize` is not satisfied                                                     
  --> ...\libpijul-0.5.3\src\patch.rs:32:28                                             
   |                                                                                                                                                   
32 | #[derive(Debug, Serialize, Deserialize)]                                                                                                          
   |                            ^^^^^^^^^^^ the trait `serde::Deserialize` is not implemented for `chrono::DateTime<chrono::UTC>`                      
   |                                                                                                                                                   
   = note: required by `serde::de::SeqVisitor::visit`                                                                                                  
                                                                                                                                                       
error[E0277]: the trait bound `chrono::DateTime<chrono::UTC>: serde::Deserialize` is not satisfied                                                     
  --> ...\libpijul-0.5.3\src\patch.rs:32:28                                             
   |                                                                                                                                                   
32 | #[derive(Debug, Serialize, Deserialize)]                                                                                                          
   |                            ^^^^^^^^^^^ the trait `serde::Deserialize` is not implemented for `chrono::DateTime<chrono::UTC>`                      
   |                                                                                                                                                   
   = note: required by `serde::de::MapVisitor::visit_value`                                                                                            
                                                                                                                                                       
error[E0277]: the trait bound `chrono::DateTime<chrono::UTC>: serde::Deserialize` is not satisfied                                                     
  --> ...\libpijul-0.5.3\src\patch.rs:32:28                                             
   |                                                                                                                                                   
32 | #[derive(Debug, Serialize, Deserialize)]                                                                                                          
   |                            ^^^^^^^^^^^ the trait `serde::Deserialize` is not implemented for `chrono::DateTime<chrono::UTC>`                      
   |                                                                                                                                                   
   = note: required by `serde::de::private::missing_field`
pmeunier commented on May 4, 2017

This is independent from the version of rustc. It turns out serde turned 1.0 recently, and bincode is moving towards 1.0, but using -alphaN version numbers.

This is causing a lot of confusion with serialisation for all projects I'm working on, not just Pijul. There's not much we can do here. You might try to "pijul clone" the project from the Nest. It does compile on nightly and 1.16.

pmeunier commented on May 9, 2017

I can compile it now with 1.17.