Skip to content

Cannot build docs with Rust nightly #2

@paulvt

Description

@paulvt

When generating docs for my Rocket project, Cargo bails out while trying to document the devise crate:

 Documenting devise v0.2.0
error[E0275]: overflow evaluating the requirement `alloc::raw_vec::RawVec<(devise_core::syn::Lifetime, devise_core::syn::token::Add)>: std::marker::Unpin`
  |
  = help: consider adding a `#![recursion_limit="128"]` attribute to your crate
  = note: required because it appears within the type `std::vec::Vec<(devise_core::syn::Lifetime, devise_core::syn::token::Add)>`
  = note: required because it appears within the type `devise_core::syn::punctuated::Punctuated<devise_core::syn::Lifetime, devise_core::syn::token::Add>`
  = note: required because it appears within the type `devise_core::syn::LifetimeDef`
  = note: required because it appears within the type `(devise_core::syn::LifetimeDef, devise_core::syn::token::Comma)`
  = note: required because it appears within the type `*const (devise_core::syn::LifetimeDef, devise_core::syn::token::Comma)`
  = note: required because it appears within the type `std::ptr::Unique<(devise_core::syn::LifetimeDef, devise_core::syn::token::Comma)>`
  = note: required because it appears within the type `alloc::raw_vec::RawVec<(devise_core::syn::LifetimeDef, devise_core::syn::token::Comma)>`
  = note: required because it appears within the type `std::vec::Vec<(devise_core::syn::LifetimeDef, devise_core::syn::token::Comma)>`
  = note: required because it appears within the type `devise_core::syn::punctuated::Punctuated<devise_core::syn::LifetimeDef, devise_core::syn::token::Comma>`
  = note: required because it appears within the type `devise_core::syn::BoundLifetimes`
  = note: required because it appears within the type `std::option::Option<devise_core::syn::BoundLifetimes>`
  = note: required because it appears within the type `devise_core::syn::TraitBound`
  = note: required because it appears within the type `devise_core::syn::TypeParamBound`
  = note: required because it appears within the type `(devise_core::syn::TypeParamBound, devise_core::syn::token::Add)`
  = note: required because it appears within the type `*const (devise_core::syn::TypeParamBound, devise_core::syn::token::Add)`
  = note: required because it appears within the type `std::ptr::Unique<(devise_core::syn::TypeParamBound, devise_core::syn::token::Add)>`
  = note: required because it appears within the type `alloc::raw_vec::RawVec<(devise_core::syn::TypeParamBound, devise_core::syn::token::Add)>`
  = note: required because it appears within the type `std::vec::Vec<(devise_core::syn::TypeParamBound, devise_core::syn::token::Add)>`
  = note: required because it appears within the type `devise_core::syn::punctuated::Punctuated<devise_core::syn::TypeParamBound, devise_core::syn::token::Add>`
  = note: required because it appears within the type `devise_core::syn::TypeParam`
  = note: required because it appears within the type `devise_core::syn::GenericParam`
  = note: required because it appears within the type `(devise_core::syn::GenericParam, devise_core::syn::token::Comma)`
  = note: required because it appears within the type `*const (devise_core::syn::GenericParam, devise_core::syn::token::Comma)`
  = note: required because it appears within the type `std::ptr::Unique<(devise_core::syn::GenericParam, devise_core::syn::token::Comma)>`
  = note: required because it appears within the type `alloc::raw_vec::RawVec<(devise_core::syn::GenericParam, devise_core::syn::token::Comma)>`
  = note: required because it appears within the type `std::vec::Vec<(devise_core::syn::GenericParam, devise_core::syn::token::Comma)>`
  = note: required because it appears within the type `devise_core::syn::punctuated::Punctuated<devise_core::syn::GenericParam, devise_core::syn::token::Comma>`
  = note: required because it appears within the type `devise_core::syn::Generics`
  = note: required because it appears within the type `devise_core::syn::ItemType`
  = note: required because it appears within the type `devise_core::syn::Item`
  = note: required because it appears within the type `devise_core::syn::Stmt`
  = note: required because it appears within the type `*const devise_core::syn::Stmt`
  = note: required because it appears within the type `std::ptr::Unique<devise_core::syn::Stmt>`
  = note: required because it appears within the type `alloc::raw_vec::RawVec<devise_core::syn::Stmt>`
  = note: required because it appears within the type `std::vec::Vec<devise_core::syn::Stmt>`
  = note: required because it appears within the type `devise_core::syn::Block`
  = note: required because it appears within the type `devise_core::syn::ExprIf`
  = note: required because it appears within the type `devise_core::syn::Expr`
  = note: required because it appears within the type `devise_core::syn::TypeArray`
  = note: required because it appears within the type `devise_core::syn::Type`
  = note: required because it appears within the type `devise_core::syn::GenericArgument`
  = note: required because it appears within the type `(devise_core::syn::GenericArgument, devise_core::syn::token::Comma)`
  = note: required because it appears within the type `*const (devise_core::syn::GenericArgument, devise_core::syn::token::Comma)`
  = note: required because it appears within the type `std::ptr::Unique<(devise_core::syn::GenericArgument, devise_core::syn::token::Comma)>`
  = note: required because it appears within the type `alloc::raw_vec::RawVec<(devise_core::syn::GenericArgument, devise_core::syn::token::Comma)>`
  = note: required because it appears within the type `std::vec::Vec<(devise_core::syn::GenericArgument, devise_core::syn::token::Comma)>`
  = note: required because it appears within the type `devise_core::syn::punctuated::Punctuated<devise_core::syn::GenericArgument, devise_core::syn::token::Comma>`
  = note: required because it appears within the type `devise_core::syn::AngleBracketedGenericArguments`
  = note: required because it appears within the type `devise_core::syn::PathArguments`
  = note: required because it appears within the type `devise_core::syn::PathSegment`
  = note: required because it appears within the type `(devise_core::syn::PathSegment, devise_core::syn::token::Colon2)`
  = note: required because it appears within the type `*const (devise_core::syn::PathSegment, devise_core::syn::token::Colon2)`
  = note: required because it appears within the type `std::ptr::Unique<(devise_core::syn::PathSegment, devise_core::syn::token::Colon2)>`
  = note: required because it appears within the type `alloc::raw_vec::RawVec<(devise_core::syn::PathSegment, devise_core::syn::token::Colon2)>`
  = note: required because it appears within the type `std::vec::Vec<(devise_core::syn::PathSegment, devise_core::syn::token::Colon2)>`
  = note: required because it appears within the type `devise_core::syn::punctuated::Punctuated<devise_core::syn::PathSegment, devise_core::syn::token::Colon2>`
  = note: required because it appears within the type `devise_core::syn::Path`
  = note: required because it appears within the type `devise_core::syn::Attribute`
  = note: required because it appears within the type `*const devise_core::syn::Attribute`
  = note: required because it appears within the type `std::ptr::Unique<devise_core::syn::Attribute>`
  = note: required because it appears within the type `alloc::raw_vec::RawVec<devise_core::syn::Attribute>`
  = note: required because it appears within the type `std::vec::Vec<devise_core::syn::Attribute>`
  = note: required because it appears within the type `devise_core::syn::FieldPat`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0275`.
error: Could not document `devise`.

Toolchain information:

> rustc --version && cargo --version
rustc 1.38.0-nightly (6e310f2ab 2019-07-07)
cargo 1.37.0-nightly (4c1fa54d1 2019-06-24)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions