diff options
author | Colin Wallace <colin@mooooo.ooo> | 2019-06-04 16:35:56 -0700 |
---|---|---|
committer | Emilio Cobos Álvarez <emilio@crisal.io> | 2019-06-06 09:50:47 -0400 |
commit | d55cce5078bf3b38cf69acbb5dd7f9c842af0356 (patch) | |
tree | b27f9bb88101e5b7528110b919cc9df329325262 /src/codegen/mod.rs | |
parent | 4857d77a879d5b8330b3d6c2716e4f449d494bc5 (diff) |
For rust-target >= 1.30, make __IncompleteArrayField::new a const fn
Diffstat (limited to 'src/codegen/mod.rs')
-rw-r--r-- | src/codegen/mod.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs index 693215a5..ceb2f5b8 100644 --- a/src/codegen/mod.rs +++ b/src/codegen/mod.rs @@ -3770,6 +3770,14 @@ mod utils { ) { let prefix = ctx.trait_prefix(); + // If the target supports `const fn`, declare eligible functions + // as `const fn` else just `fn`. + let const_fn = if ctx.options().rust_features().min_const_fn { + quote!{ const fn } + } else { + quote!{ fn } + }; + let incomplete_array_decl = quote! { #[repr(C)] #[derive(Default)] @@ -3780,7 +3788,7 @@ mod utils { let incomplete_array_impl = quote! { impl<T> __IncompleteArrayField<T> { #[inline] - pub fn new() -> Self { + pub #const_fn new() -> Self { __IncompleteArrayField(::#prefix::marker::PhantomData, []) } |