@@ -371,10 +371,6 @@ let lsts-parse-type-conjugate(tokens: List<Token>): Tuple<Type,List<Token>> = (
371371 head(args);
372372 } else if base==c"CompatOwnedData" and args.length==1 {
373373 t1(c"OwnedData",head(args));
374- } else if base==c"CompatMustRetain" and args.length==0 {
375- t0(c"MustRetain");
376- } else if base==c"CompatMustRelease" and args.length==0 {
377- t0(c"MustRelease");
378374 } else TGround ( base, close(args) );
379375 };
380376 while lsts-parse-head(tokens) == c"[" or lsts-parse-head(tokens)==c"?" {
@@ -936,12 +932,16 @@ let lsts-parse-typedef(tokens: List<Token>): (AST, List<Token>) = (
936932 if lsts-parse-head(tokens)==c"implies" {
937933 lsts-parse-expect(c"implies", tokens); tokens = tail(tokens);
938934 (let i, tokens) = lsts-parse-type(tokens);
939- if not(config-v3) and (i.is-t(c"MustRetain",0) or i.is-t(c"MustRelease",0)) then ()
935+ if i.is-t(c"CompatMustRelease",0) then infers = infers.push(t0(c"MustRelease"));
936+ else if config-v23 and i.is-t(c"MustRelease",0) then ()
937+ else if config-v23 and i.is-t(c"MustRetain",0) then ()
940938 else infers = infers.push(i);
941939 while lsts-parse-head(tokens)==c"," {
942940 lsts-parse-expect(c",", tokens); tokens = tail(tokens);
943941 (i, tokens) = lsts-parse-type(tokens);
944- if not(config-v3) and (i.is-t(c"MustRetain",0) or i.is-t(c"MustRelease",0)) then ()
942+ if i.is-t(c"CompatMustRelease",0) then infers = infers.push(t0(c"MustRelease"));
943+ else if config-v23 and i.is-t(c"MustRelease",0) then ()
944+ else if config-v23 and i.is-t(c"MustRetain",0) then ()
945945 else infers = infers.push(i);
946946 }
947947 };
0 commit comments