Skip to content

Commit 1e6d7c3

Browse files
committed
Update readme
1 parent 841cbc2 commit 1e6d7c3

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

packages/renderers-rust/README.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,19 @@ Note that you must provide the fully qualified name of the traits you provide (e
6565

6666
```ts
6767
const traitOptions = {
68-
baseDefaults: ['borsh::BorshSerialize', 'borsh::BorshDeserialize', 'Clone', 'Debug', 'Eq', 'PartialEq'],
68+
baseDefaults: [
69+
'borsh::BorshSerialize',
70+
'borsh::BorshDeserialize',
71+
'serde::Serialize',
72+
'serde::Deserialize',
73+
'Clone',
74+
'Debug',
75+
'Eq',
76+
'PartialEq',
77+
],
6978
dataEnumDefaults: [],
7079
scalarEnumDefaults: ['Copy', 'PartialOrd', 'Hash', 'num_derive::FromPrimitive'],
71-
structDefaults: ['serde::Serialize', 'serde::Deserialize'],
80+
structDefaults: [],
7281
};
7382
```
7483

@@ -135,3 +144,5 @@ use serde::Deserialize;
135144
// With `useFullyQualifiedName` set to `true`.
136145
#[derive(serde::Serialize, serde::Deserialize)]
137146
```
147+
148+
Note that any trait rendered under a feature flag will always use the Fully Qualified Name in order to ensure we only reference the trait when the feature is enabled.

packages/renderers-rust/src/utils/traitOptions.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,13 +76,14 @@ export function getTraitsFromNode(
7676

7777
// Wrap the traits in feature flags if necessary.
7878
const partitionedTraits = partitionTraitsInFeatures(allTraits, options.featureFlags);
79+
let unfeaturedTraits = partitionedTraits[0];
80+
const featuredTraits = partitionedTraits[1];
7981

8082
// Import the traits if necessary.
8183
const imports = new ImportMap();
8284
if (!options.useFullyQualifiedName) {
83-
partitionedTraits[0] = extractFullyQualifiedNames(partitionedTraits[0], imports);
85+
unfeaturedTraits = extractFullyQualifiedNames(unfeaturedTraits, imports);
8486
}
85-
const [unfeaturedTraits, featuredTraits] = partitionedTraits;
8687

8788
// Render the trait lines.
8889
const traitLines: string[] = [

0 commit comments

Comments
 (0)