Skip to content

Commit 3cbcc11

Browse files
update
1 parent 5d34536 commit 3cbcc11

File tree

4 files changed

+10
-2
lines changed

4 files changed

+10
-2
lines changed

codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/rustlang/RustWriter.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -515,7 +515,6 @@ class RustWriter private constructor(
515515
init {
516516
expressionStart = '#'
517517
if (filename.endsWith(".rs")) {
518-
RenderSerdeAttribute.importSerde(this)
519518
require(namespace.startsWith("crate") || filename.startsWith("tests/")) {
520519
"We can only write into files in the crate (got $namespace)"
521520
}

codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/BuilderGenerator.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ class BuilderGenerator(
216216
writer.docs("A builder for #D.", structureSymbol)
217217
metadata.additionalAttributes.render(writer)
218218
Attribute(derive(builderDerives)).render(writer)
219-
RenderSerdeAttribute.forStructureShape(writer, shape, model)
219+
RenderSerdeAttribute.forBuilders(writer, shape, model)
220220
SensitiveWarning.addDoc(writer, shape)
221221
writer.rustBlock("pub struct $builderName") {
222222
// add serde

codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/RenderSerdeAttribute.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@ public object RenderSerdeAttribute {
2222
}
2323
}
2424

25+
public fun forBuilders(writer: RustWriter, shape: StructureShape, model: Model) {
26+
if (shape.members().none { it.isEventStream(model) }) {
27+
writeAttributes(writer)
28+
}
29+
}
30+
2531
public fun skipIfStream(writer: RustWriter, member: MemberShape, model: Model) {
2632
if (member.isEventStream(model)) {
2733
return
@@ -39,6 +45,8 @@ public object RenderSerdeAttribute {
3945
}
4046

4147
public fun writeAttributes(writer: RustWriter) {
48+
49+
4250
Attribute("").SerdeSerialize().render(writer)
4351
Attribute("").SerdeDeserialize().render(writer)
4452
}

codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/StructureGenerator.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ open class StructureGenerator(
160160
}
161161

162162
open fun renderStructure() {
163+
RenderSerdeAttribute.importSerde(writer)
163164
val symbol = symbolProvider.toSymbol(shape)
164165
val containerMeta = symbol.expectRustMetadata()
165166
writer.documentShape(shape, model)

0 commit comments

Comments
 (0)