Inverse quine: print everything except your program Write a program which will eventually, given enough time, print all possible permutations of ASCII characters (both printable and non-printable) less than or equal to its length, except itself. The text of the program must not appear anywhere in its output.
For example, if your program is abc, then part of your output could look like:
(many lines omitted)
ab0
ab1
ab2
...
abb
abd
(many lines omitted)

or
...[some character other than a]bcabacba5804g715^^*#0...

If your language requires characters that are not printable ASCII (e.g. Jelly or APL), print all combinations of characters in its code page.
The strings need not be separate from each other; a single character can be counted as part of multiple strings. You could try to create a superpermutation, which would be at least \$95! + 94! + 93! + 95 − 3 = 1.04 × 10^{148}\$ characters long.
Standard quine rules apply (no reading the program's source code) but this is also code golf.
Ruby, 92 91 86 bytes
Saved 5 bytes thanks to a comment by @Sisyphus on another answer.

eval s=&quot;a=*?\0..?\x7f;90.times{|i|puts a.product(*[a]*i).map(&amp;:join)-['eval s=%p'%s]}&quot;

Try it online!
Forms arrays containing all permutations of ASCII characters (codepoints 00 to 127) of length 1 to 91, then subtracts from each the string eval$s=%q(#$s), which is equivalent to the full program (because of the interpolated string $s).
eval s=&quot;                               # evaluate s, a double-quoted string that contains most of the program
  a=*?\0..?\x7f;                       # create array of ASCII characters 00 to 127
  90.times{|i|                         # for permutations of length i = 1 to 91:
    puts a.product(*[a]*i).map(&amp;:join)   # print all strings of length i...
    -['eval$s=%p'%s]                     # not equal to the full program
  }
&quot;