File tree 1 file changed +7
-5
lines changed
1 file changed +7
-5
lines changed Original file line number Diff line number Diff line change @@ -99,11 +99,13 @@ pub enum DirectiveLocation {
99
99
100
100
/// Allows seeing [Type] with different name/string representations
101
101
/// as the same type without allocating.
102
- ///
103
- /// TODO: Ideally this type should not exist, but the reason it currently does
104
- /// is that [Type] is fully recursive, but recursive type references cannot really exist in GraphQL.
105
- /// (only one level of list-wrapping is allowed).
106
- /// If [Type] got properly "flattened" it would be easy to cheaply project a [Type<ArcStr>] as a [Type<&str>].
102
+ //
103
+ // TODO: Ideally this type should not exist, but the reason it currently does
104
+ // is that [Type] has a recursive design to allow arbitrary number of list wrappings.
105
+ // The list layout could instead be modelled as a modifier so that type becomes a tuple of (name, modifier).
106
+ //
107
+ // If [Type] is modelled like this it becomes easier to project it as a borrowed version of itself,
108
+ // i.e. [Type<ArcStr>] vs [Type<&str>].
107
109
#[ derive( Clone , Copy , Debug ) ]
108
110
pub enum DynType < ' a > {
109
111
Named ( & ' a str ) ,
You can’t perform that action at this time.
0 commit comments