@@ -23,16 +23,16 @@ let .retain(x: xt): xt = (
2323 for case in $cases-of(x) {
2424 if x.discriminator-case-tag==(x as case).discriminator-case-tag {
2525 for field in $fields-of(x as case) {
26- if typeof( macro::concat($".", field) ) <: type(MustRetain) {
26+ if typeof( macro::concat($".", field)(x as case) ) <: type(MustRetain) {
2727 mark-as-released( macro::concat($".", field)(x as case).retain );
2828 };
29- if typeof( macro::concat($".", field)(x) ) <: type(OwnedData<?>) {
29+ if typeof( macro::concat($".", field)(x as case ) ) <: type(OwnedData<?>) {
3030 mark-as-released( macro::concat($".", field)(x as case).retain );
3131 };
32- if typeof( macro::concat($".", field)(x) ) <: type(OneOwnedData<?>) {
32+ if typeof( macro::concat($".", field)(x as case ) ) <: type(OneOwnedData<?>) {
3333 mark-as-released( macro::concat($".", field)(x as case).retain );
3434 };
35- if typeof( macro::concat($".", field)(x) ) <: type(SparseOwnedData<?>) {
35+ if typeof( macro::concat($".", field)(x as case ) ) <: type(SparseOwnedData<?>) {
3636 mark-as-released( macro::concat($".", field)(x as case).retain );
3737 };
3838 };
@@ -45,16 +45,16 @@ let .release(x: xt): Nil = (
4545 for case in $cases-of(x) {
4646 if x.discriminator-case-tag==(x as case).discriminator-case-tag {
4747 for field in $fields-of(x) {
48- if typeof( macro::concat($".", field)(x) ) <: type(MustRetain) {
48+ if typeof( macro::concat($".", field)(x as case ) ) <: type(MustRetain) {
4949 macro::concat($".", field)(x as case).release;
5050 };
51- if typeof( macro::concat($".", field)(x) ) <: type(OwnedData<?>) {
51+ if typeof( macro::concat($".", field)(x as case ) ) <: type(OwnedData<?>) {
5252 macro::concat($".", field)(x as case).release;
5353 };
54- if typeof( macro::concat($".", field)(x) ) <: type(OneOwnedData<?>) {
54+ if typeof( macro::concat($".", field)(x as case ) ) <: type(OneOwnedData<?>) {
5555 macro::concat($".", field)(x as case).release;
5656 };
57- if typeof( macro::concat($".", field)(x) ) <: type(SparseOwnedData<?>) {
57+ if typeof( macro::concat($".", field)(x as case ) ) <: type(SparseOwnedData<?>) {
5858 macro::concat($".", field)(x as case).release;
5959 };
6060 };
0 commit comments