mirror of https://github.com/rwf2/Rocket.git
Update codegen for 2018-06-22 nightly (1/2).
This commit is contained in:
parent
64bbed1422
commit
69c953edc9
|
@ -8,7 +8,7 @@ use yansi::Color::{Red, Yellow, Blue, White};
|
||||||
use version_check::{supports_features, is_min_version, is_min_date};
|
use version_check::{supports_features, is_min_version, is_min_date};
|
||||||
|
|
||||||
// Specifies the minimum nightly version needed to compile Rocket's codegen.
|
// Specifies the minimum nightly version needed to compile Rocket's codegen.
|
||||||
const MIN_DATE: &'static str = "2018-05-30";
|
const MIN_DATE: &'static str = "2018-06-22";
|
||||||
const MIN_VERSION: &'static str = "1.28.0-nightly";
|
const MIN_VERSION: &'static str = "1.28.0-nightly";
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
|
|
@ -6,7 +6,7 @@ use std::collections::HashMap;
|
||||||
use syntax::ext::base::{Annotatable, ExtCtxt};
|
use syntax::ext::base::{Annotatable, ExtCtxt};
|
||||||
use syntax::print::pprust::{stmt_to_string};
|
use syntax::print::pprust::{stmt_to_string};
|
||||||
use syntax::ast::{ItemKind, Expr, MetaItem, Mutability, VariantData, Ident};
|
use syntax::ast::{ItemKind, Expr, MetaItem, Mutability, VariantData, Ident};
|
||||||
use syntax::ast::{StructField, GenericParam};
|
use syntax::ast::{StructField, GenericParamKind};
|
||||||
use syntax::codemap::Span;
|
use syntax::codemap::Span;
|
||||||
use syntax::ext::build::AstBuilder;
|
use syntax::ext::build::AstBuilder;
|
||||||
use syntax::ptr::P;
|
use syntax::ptr::P;
|
||||||
|
@ -26,12 +26,10 @@ fn struct_lifetime(ecx: &mut ExtCtxt, item: &Annotatable, sp: Span) -> Option<St
|
||||||
Annotatable::Item(ref item) => match item.node {
|
Annotatable::Item(ref item) => match item.node {
|
||||||
ItemKind::Struct(_, ref generics) => {
|
ItemKind::Struct(_, ref generics) => {
|
||||||
let mut lifetimes = generics.params.iter()
|
let mut lifetimes = generics.params.iter()
|
||||||
.filter_map(|p| match *p {
|
.filter(|p| p.kind == GenericParamKind::Lifetime)
|
||||||
GenericParam::Lifetime(ref def) => Some(def),
|
.map(|p| p.ident.to_string());
|
||||||
_ => None
|
|
||||||
});
|
|
||||||
|
|
||||||
let lifetime = lifetimes.next().map(|d| d.lifetime.ident.to_string());
|
let lifetime = lifetimes.next();
|
||||||
if lifetimes.next().is_some() {
|
if lifetimes.next().is_some() {
|
||||||
ecx.span_err(generics.span, "cannot have more than one \
|
ecx.span_err(generics.span, "cannot have more than one \
|
||||||
lifetime parameter when deriving `FromForm`.");
|
lifetime parameter when deriving `FromForm`.");
|
||||||
|
@ -329,5 +327,3 @@ fn from_form_substructure(cx: &mut ExtCtxt, trait_span: Span, substr: &Substruct
|
||||||
|
|
||||||
cx.expr_block(cx.block(trait_span, stmts))
|
cx.expr_block(cx.block(trait_span, stmts))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue