From 81a704397bd172b1b4a30bce7d55ee346b37a2c9 Mon Sep 17 00:00:00 2001 From: Matt Monsour Date: Fri, 14 Jul 2017 13:15:23 -0400 Subject: [PATCH 1/2] Apply field attributes for gfx_defines! structures --- src/render/src/macros/mod.rs | 16 ++++++++-------- src/render/src/macros/structure.rs | 12 ++++++------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/render/src/macros/mod.rs b/src/render/src/macros/mod.rs index e095fa003db..555f1000d5b 100644 --- a/src/render/src/macros/mod.rs +++ b/src/render/src/macros/mod.rs @@ -137,15 +137,15 @@ macro_rules! gfx_format { #[macro_export] macro_rules! gfx_defines { ($(#[$attr:meta])* vertex $name:ident { - $( $field:ident : $ty:ty = $e:expr, )+ + $( $(#[$field_attr:meta])* $field:ident : $ty:ty = $e:expr, )+ }) => { - gfx_vertex_struct_meta!($(#[$attr])* vertex_struct_meta $name {$($field:$ty = $e,)+}); + gfx_vertex_struct_meta!($(#[$attr])* vertex_struct_meta $name {$( $(#[$field_attr])* $field:$ty = $e,)+}); }; ($(#[$attr:meta])* constant $name:ident { - $( $field:ident : $ty:ty = $e:expr, )+ + $( $(#[$field_attr:meta])* $field:ident : $ty:ty = $e:expr, )+ }) => { - gfx_constant_struct_meta!($(#[$attr])* constant_struct_meta $name {$($field:$ty = $e,)+}); + gfx_constant_struct_meta!($(#[$attr])* constant_struct_meta $name {$( $(#[$field_attr])* $field:$ty = $e,)+}); }; (pipeline $name:ident { @@ -156,22 +156,22 @@ macro_rules! gfx_defines { // The recursive case for vertex structs ($(#[$attr:meta])* vertex $name:ident { - $( $field:ident : $ty:ty = $e:expr, )+ + $( $(#[$field_attr:meta])* $field:ident : $ty:ty = $e:expr, )+ } $($tail:tt)+) => { gfx_defines! { $(#[$attr])* - vertex $name { $($field : $ty = $e,)+ } + vertex $name { $( $(#[$field_attr])* $field : $ty = $e,)+ } } gfx_defines!($($tail)+); }; // The recursive case for constant structs ($(#[$attr:meta])* constant $name:ident { - $( $field:ident : $ty:ty = $e:expr, )+ + $( $(#[$field_attr:meta])* $field:ident : $ty:ty = $e:expr, )+ } $($tail:tt)+) => { gfx_defines! { $(#[$attr])* - constant $name { $($field : $ty = $e,)+ } + constant $name { $( $(#[$field_attr])* $field : $ty = $e,)+ } } gfx_defines!($($tail)+); }; diff --git a/src/render/src/macros/structure.rs b/src/render/src/macros/structure.rs index 8e37890b008..266657bd749 100644 --- a/src/render/src/macros/structure.rs +++ b/src/render/src/macros/structure.rs @@ -28,13 +28,13 @@ macro_rules! gfx_impl_struct { #[macro_export] macro_rules! gfx_impl_struct_meta { ($(#[$attr:meta])* impl_struct_meta $runtime_format:ty : $compile_format:path = $root:ident { - $( $field:ident: $ty:ty = $name:expr, )* + $( $(#[$field_attr:meta])* $field:ident: $ty:ty = $name:expr, )* }) => { #[allow(missing_docs)] #[derive(Clone, Copy, Debug, PartialEq)] $(#[$attr])* pub struct $root { - $( pub $field: $ty, )* + $( $(#[$field_attr])* pub $field: $ty, )* } unsafe impl $crate::traits::Pod for $root {} @@ -90,12 +90,12 @@ macro_rules! gfx_vertex_struct { #[macro_export] macro_rules! gfx_vertex_struct_meta { ($(#[$attr:meta])* vertex_struct_meta $root:ident { - $( $field:ident: $ty:ty = $name:expr, )* + $( $(#[$field_attr:meta])* $field:ident: $ty:ty = $name:expr, )* }) => (gfx_impl_struct_meta!{ $(#[$attr])* impl_struct_meta $crate::format::Format : $crate::format::Formatted = $root { - $( $field: $ty = $name, )* + $( $(#[$field_attr])* $field: $ty = $name, )* } }) } @@ -114,12 +114,12 @@ macro_rules! gfx_constant_struct { #[macro_export] macro_rules! gfx_constant_struct_meta { ($(#[$attr:meta])* constant_struct_meta $root:ident { - $( $field:ident: $ty:ty = $name:expr, )* + $( $(#[$field_attr:meta])* $field:ident: $ty:ty = $name:expr, )* }) => (gfx_impl_struct_meta!{ $(#[$attr])* impl_struct_meta $crate::shade::ConstFormat : $crate::shade::Formatted = $root { - $( $field: $ty = $name, )* + $( $(#[$field_attr])* $field: $ty = $name, )* } }) } From c29b9f7277ccbf9d9eac3cecf51e58cfda1e1a2d Mon Sep 17 00:00:00 2001 From: Matt Monsour Date: Tue, 26 Sep 2017 20:15:25 -0400 Subject: [PATCH 2/2] Appveyor should target Rust 1.20 --- appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index b405afaf017..d53f68c33da 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,8 +1,8 @@ environment: matrix: - - TARGET: 1.18.0-x86_64-pc-windows + - TARGET: 1.20.0-x86_64-pc-windows COMPILER: gnu - - TARGET: 1.18.0-x86_64-pc-windows + - TARGET: 1.20.0-x86_64-pc-windows COMPILER: msvc - TARGET: nightly-x86_64-pc-windows COMPILER: msvc