Skip to content

Commit 37bf940

Browse files
committed
fix(stackable-versioned): Emit type parameter defaults
1 parent f035997 commit 37bf940

File tree

4 files changed

+54
-2
lines changed

4 files changed

+54
-2
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#[versioned(version(name = "v1alpha1"), version(name = "v1"))]
2+
// ---
3+
pub struct Foo<T = String>
4+
where
5+
T: Default,
6+
{
7+
bar: T,
8+
baz: u8,
9+
}

crates/stackable-versioned-macros/fixtures/snapshots/stackable_versioned_macros__test__default_snapshots@generics_defaults.rs.snap

Lines changed: 39 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/stackable-versioned-macros/src/codegen/container/enum.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,9 @@ pub(crate) struct Enum {
104104
impl Enum {
105105
/// Generates code for the enum definition.
106106
pub(crate) fn generate_definition(&self, version: &VersionDefinition) -> TokenStream {
107-
let (_, type_generics, where_clause) = self.generics.split_for_impl();
107+
let where_clause = self.generics.where_clause.as_ref();
108+
let type_generics = &self.generics;
109+
108110
let original_attributes = &self.common.original_attributes;
109111
let ident = &self.common.idents.original;
110112
let version_docs = &version.docs;

crates/stackable-versioned-macros/src/codegen/container/struct.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,9 @@ pub(crate) struct Struct {
135135
impl Struct {
136136
/// Generates code for the struct definition.
137137
pub(crate) fn generate_definition(&self, version: &VersionDefinition) -> TokenStream {
138-
let (_, type_generics, where_clause) = self.generics.split_for_impl();
138+
let where_clause = self.generics.where_clause.as_ref();
139+
let type_generics = &self.generics;
140+
139141
let original_attributes = &self.common.original_attributes;
140142
let ident = &self.common.idents.original;
141143
let version_docs = &version.docs;

0 commit comments

Comments
 (0)