diff --git a/core/classes/maybe/maybe-tests.factor b/core/classes/maybe/maybe-tests.factor index fa26608833..8466802557 100644 --- a/core/classes/maybe/maybe-tests.factor +++ b/core/classes/maybe/maybe-tests.factor @@ -62,8 +62,5 @@ M: f lol2 drop "lol22" ; { "lol22" } [ f lol2 ] unit-test [ 3 lol2 ] [ no-method? ] must-fail-with -{ t } [ \ + classoid? ] unit-test -{ f } [ \ + valid-classoid? ] unit-test - [ "IN: classes-tests maybe{ 1 2 3 }" eval( -- ) ] [ error>> not-classoids? ] must-fail-with diff --git a/core/classes/maybe/maybe.factor b/core/classes/maybe/maybe.factor index 9c89e368f7..451b0513a8 100644 --- a/core/classes/maybe/maybe.factor +++ b/core/classes/maybe/maybe.factor @@ -5,13 +5,7 @@ classes.algebra.private classes.private classes.union.private kernel words ; IN: classes.maybe -! The class slot has to be a union of a word and a classoid -! for TUPLE: foo { a maybe{ foo } } ; and maybe{ union{ integer float } } -! to work. -! In the first case, foo is not yet a tuple-class when maybe{ is reached, -! thus it's not a classoid yet. union{ is a classoid, so the second case works. -! words are not generally classoids, so classoid alone is insufficient. -TUPLE: maybe { class union{ word classoid } initial: object read-only } ; +TUPLE: maybe { class classoid initial: object read-only } ; C: maybe