| ofs | hex dump | ascii |
|---|
| 0000 | 2f 2f 40 20 65 64 69 74 69 6f 6e 3a 20 32 30 32 31 0a 0a 2f 2f 20 54 68 65 20 6e 75 6c 6c 20 63 | //@.edition:.2021..//.The.null.c |
| 0020 | 68 61 72 20 63 68 65 63 6b 20 66 6f 72 20 43 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 | har.check.for.C.string.literals. |
| 0040 | 77 61 73 20 6f 72 69 67 69 6e 61 6c 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 66 74 65 72 | was.originally.implemented.after |
| 0060 | 0a 2f 2f 20 65 78 70 61 6e 73 69 6f 6e 2c 20 77 68 69 63 68 20 6d 65 61 6e 74 20 74 68 65 20 66 | .//.expansion,.which.meant.the.f |
| 0080 | 69 72 73 74 20 66 69 76 65 20 73 74 72 69 6e 67 73 20 69 6e 20 74 68 69 73 20 66 69 6c 65 20 74 | irst.five.strings.in.this.file.t |
| 00a0 | 72 69 67 67 65 72 65 64 20 65 72 72 6f 72 73 2c 0a 2f 2f 20 61 6e 64 20 74 68 65 20 72 65 6d 61 | riggered.errors,.//.and.the.rema |
| 00c0 | 69 6e 69 6e 67 20 74 65 6e 20 64 69 64 20 6e 6f 74 2e 20 42 75 74 20 74 68 69 73 20 69 73 20 64 | ining.ten.did.not..But.this.is.d |
| 00e0 | 69 66 66 65 72 65 6e 74 20 74 6f 20 61 6c 6c 20 74 68 65 20 6f 74 68 65 72 0a 2f 2f 20 63 6f 6e | ifferent.to.all.the.other.//.con |
| 0100 | 74 65 6e 74 20 63 68 65 63 6b 73 20 64 6f 6e 65 20 6f 6e 20 73 74 72 69 6e 67 20 6c 69 74 65 72 | tent.checks.done.on.string.liter |
| 0120 | 61 6c 73 2c 20 73 75 63 68 20 61 73 20 63 68 65 63 6b 73 20 66 6f 72 20 69 6e 76 61 6c 69 64 20 | als,.such.as.checks.for.invalid. |
| 0140 | 65 73 63 61 70 65 73 0a 2f 2f 20 61 6e 64 20 62 61 72 65 20 43 52 20 63 68 61 72 73 2e 20 53 6f | escapes.//.and.bare.CR.chars..So |
| 0160 | 20 74 68 65 20 63 68 65 63 6b 20 77 61 73 20 6d 6f 76 65 64 20 65 61 72 6c 69 65 72 2e 20 54 68 | .the.check.was.moved.earlier..Th |
| 0180 | 65 20 63 68 65 63 6b 20 63 61 6e 20 62 65 20 6d 6f 76 65 64 0a 2f 2f 20 62 61 63 6b 20 74 6f 20 | e.check.can.be.moved.//.back.to. |
| 01a0 | 61 66 74 65 72 20 65 78 70 61 6e 73 69 6f 6e 20 61 74 20 61 20 6c 61 74 65 72 20 64 61 74 65 20 | after.expansion.at.a.later.date. |
| 01c0 | 69 66 20 6e 65 63 65 73 73 61 72 79 2c 20 62 65 63 61 75 73 65 20 74 68 61 74 20 77 6f 75 6c 64 | if.necessary,.because.that.would |
| 01e0 | 20 62 65 0a 2f 2f 20 61 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 6c 65 20 63 68 61 | .be.//.a.backward.compatible.cha |
| 0200 | 6e 67 65 2e 20 28 49 6e 20 63 6f 6e 74 72 61 73 74 2c 20 6d 6f 76 69 6e 67 20 74 68 65 20 63 68 | nge..(In.contrast,.moving.the.ch |
| 0220 | 65 63 6b 20 66 72 6f 6d 20 61 66 74 65 72 0a 2f 2f 20 65 78 70 61 6e 73 69 6f 6e 20 74 6f 20 6c | eck.from.after.//.expansion.to.l |
| 0240 | 65 78 69 6e 67 20 74 69 6d 65 20 77 6f 75 6c 64 20 62 65 20 61 20 62 61 63 6b 77 61 72 64 20 69 | exing.time.would.be.a.backward.i |
| 0260 | 6e 63 6f 6d 70 61 74 69 62 6c 65 20 63 68 61 6e 67 65 2c 20 62 65 63 61 75 73 65 20 69 74 0a 2f | ncompatible.change,.because.it./ |
| 0280 | 2f 20 63 6f 75 6c 64 20 62 72 65 61 6b 20 63 6f 64 65 20 74 68 61 74 20 77 61 73 20 70 72 65 76 | /.could.break.code.that.was.prev |
| 02a0 | 69 6f 75 73 6c 79 20 61 63 63 65 70 74 65 64 2e 29 0a 0a 66 6e 20 6d 61 69 6e 28 29 20 7b 0a 20 | iously.accepted.)..fn.main().{.. |
| 02c0 | 20 20 20 63 22 5c 30 22 3b 20 20 20 20 20 2f 2f 7e 20 45 52 52 4f 52 20 6e 75 6c 6c 20 63 68 61 | ...c"\0";.....//~.ERROR.null.cha |
| 02e0 | 72 61 63 74 65 72 73 20 69 6e 20 43 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 0a 20 20 20 | racters.in.C.string.literals.... |
| 0300 | 20 63 22 5c 75 7b 30 30 7d 22 3b 20 2f 2f 7e 20 45 52 52 4f 52 20 6e 75 6c 6c 20 63 68 61 72 61 | .c"\u{00}";.//~.ERROR.null.chara |
| 0320 | 63 74 65 72 73 20 69 6e 20 43 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 0a 20 20 20 20 63 | cters.in.C.string.literals.....c |
| 0340 | 22 00 22 3b 20 20 20 20 20 2f 2f 7e 20 45 52 52 4f 52 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 | ".";.....//~.ERROR.null.characte |
| 0360 | 72 73 20 69 6e 20 43 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 0a 20 20 20 20 63 22 5c 78 | rs.in.C.string.literals.....c"\x |
| 0380 | 30 30 22 3b 20 20 20 2f 2f 7e 20 45 52 52 4f 52 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 73 | 00";...//~.ERROR.null.characters |
| 03a0 | 20 69 6e 20 43 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 0a 20 20 20 20 63 72 22 00 22 3b | .in.C.string.literals.....cr"."; |
| 03c0 | 20 20 20 20 2f 2f 7e 20 45 52 52 4f 52 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 69 6e | ....//~.ERROR.null.characters.in |
| 03e0 | 20 43 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 0a 7d 0a 0a 6d 61 63 72 6f 5f 72 75 6c 65 | .C.string.literals.}..macro_rule |
| 0400 | 73 21 20 65 6d 70 74 79 20 7b 0a 20 20 20 20 28 24 28 24 74 74 3a 74 74 29 2a 29 20 3d 3e 20 7b | s!.empty.{.....($($tt:tt)*).=>.{ |
| 0420 | 7d 3b 0a 7d 0a 0a 2f 2f 20 54 68 65 20 63 66 67 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 73 75 6d | };.}..//.The.cfg.does.not.consum |
| 0440 | 65 20 74 68 65 20 6c 69 74 65 72 61 6c 73 20 62 65 66 6f 72 65 20 6e 75 6c 20 63 68 65 63 6b 69 | e.the.literals.before.nul.checki |
| 0460 | 6e 67 20 6f 63 63 75 72 73 2e 0a 23 5b 63 66 67 28 46 41 4c 53 45 29 5d 0a 66 6e 20 74 65 73 74 | ng.occurs..#[cfg(FALSE)].fn.test |
| 0480 | 28 29 20 7b 0a 20 20 20 20 63 22 5c 30 22 3b 20 20 20 20 20 2f 2f 7e 20 45 52 52 4f 52 20 6e 75 | ().{.....c"\0";.....//~.ERROR.nu |
| 04a0 | 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 43 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 | ll.characters.in.C.string.litera |
| 04c0 | 6c 73 0a 20 20 20 20 63 22 5c 75 7b 30 30 7d 22 3b 20 2f 2f 7e 20 45 52 52 4f 52 20 6e 75 6c 6c | ls.....c"\u{00}";.//~.ERROR.null |
| 04e0 | 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 43 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 | .characters.in.C.string.literals |
| 0500 | 0a 20 20 20 20 63 22 00 22 3b 20 20 20 20 20 2f 2f 7e 20 45 52 52 4f 52 20 6e 75 6c 6c 20 63 68 | .....c".";.....//~.ERROR.null.ch |
| 0520 | 61 72 61 63 74 65 72 73 20 69 6e 20 43 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 0a 20 20 | aracters.in.C.string.literals... |
| 0540 | 20 20 63 22 5c 78 30 30 22 3b 20 20 20 2f 2f 7e 20 45 52 52 4f 52 20 6e 75 6c 6c 20 63 68 61 72 | ..c"\x00";...//~.ERROR.null.char |
| 0560 | 61 63 74 65 72 73 20 69 6e 20 43 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 0a 20 20 20 20 | acters.in.C.string.literals..... |
| 0580 | 63 72 22 00 22 3b 20 20 20 20 2f 2f 7e 20 45 52 52 4f 52 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 | cr".";....//~.ERROR.null.charact |
| 05a0 | 65 72 73 20 69 6e 20 43 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 0a 7d 0a 0a 2f 2f 20 54 | ers.in.C.string.literals.}..//.T |
| 05c0 | 68 65 20 6d 61 63 72 6f 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 73 75 6d 65 20 74 68 65 20 6c 69 | he.macro.does.not.consume.the.li |
| 05e0 | 74 65 72 61 6c 73 20 62 65 66 6f 72 65 20 6e 75 6c 20 63 68 65 63 6b 69 6e 67 20 6f 63 63 75 72 | terals.before.nul.checking.occur |
| 0600 | 73 2e 0a 66 6e 20 74 65 73 74 5f 65 6d 70 74 79 28 29 20 7b 0a 20 20 20 20 65 6d 70 74 79 21 28 | s..fn.test_empty().{.....empty!( |
| 0620 | 63 22 5c 30 22 29 3b 20 20 20 20 20 2f 2f 7e 20 45 52 52 4f 52 20 6e 75 6c 6c 20 63 68 61 72 61 | c"\0");.....//~.ERROR.null.chara |
| 0640 | 63 74 65 72 73 20 69 6e 20 43 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 0a 20 20 20 20 65 | cters.in.C.string.literals.....e |
| 0660 | 6d 70 74 79 21 28 63 22 5c 75 7b 30 30 7d 22 29 3b 20 2f 2f 7e 20 45 52 52 4f 52 20 6e 75 6c 6c | mpty!(c"\u{00}");.//~.ERROR.null |
| 0680 | 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 43 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 | .characters.in.C.string.literals |
| 06a0 | 0a 20 20 20 20 65 6d 70 74 79 21 28 63 22 00 22 29 3b 20 20 20 20 20 2f 2f 7e 20 45 52 52 4f 52 | .....empty!(c".");.....//~.ERROR |
| 06c0 | 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 43 20 73 74 72 69 6e 67 20 6c 69 74 | .null.characters.in.C.string.lit |
| 06e0 | 65 72 61 6c 73 0a 20 20 20 20 65 6d 70 74 79 21 28 63 22 5c 78 30 30 22 29 3b 20 20 20 2f 2f 7e | erals.....empty!(c"\x00");...//~ |
| 0700 | 20 45 52 52 4f 52 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 43 20 73 74 72 69 | .ERROR.null.characters.in.C.stri |
| 0720 | 6e 67 20 6c 69 74 65 72 61 6c 73 0a 20 20 20 20 65 6d 70 74 79 21 28 63 72 22 00 22 29 3b 20 20 | ng.literals.....empty!(cr".");.. |
| 0740 | 20 20 2f 2f 7e 20 45 52 52 4f 52 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 43 | ..//~.ERROR.null.characters.in.C |
| 0760 | 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 0a 7d 0a | .string.literals.}. |