compiler/ lib/ scripts/ seed/ sublime/ test/ tests/ wildcard.import.owner/ abi.sizes.rad 3.4 KiB addfn.rad 52 B addfn.ril 76 B aggregate.return.rad 4.1 KiB arith.assignment.rad 631 B arith.basic.rad 191 B arith.modulo.rad 111 B arith.subword.rad 3.9 KiB arith.subword.ril 4.3 KiB arith.sum.rad 192 B arith.w64.rad 4.1 KiB arith.w64.ril 5.2 KiB array.aggregate.stride.rad 770 B array.aggregate.stride.ril 1.1 KiB array.assign.rad 225 B array.assign.ril 526 B array.bounds.check.rad 321 B array.fn.assign.rad 265 B array.index.assign.rad 422 B array.index.rad 280 B array.index.ril 496 B array.len.const.rad 348 B array.len.const.ril 200 B array.length.rad 285 B array.literal.rad 136 B array.literal.ril 329 B array.math.rad 1.2 KiB array.nested.assign.rad 327 B array.nested.rad 325 B array.nested.ril 922 B array.record.elements.rad 1.7 KiB array.repeat.edge.rad 548 B array.repeat.rad 828 B array.repeat.ril 3.0 KiB array.return.rad 345 B array.slice.empty.rad 123 B array.slice.full.rad 127 B array.slice.full.ril 168 B array.slice.gen.end.rad 158 B array.slice.gen.index.rad 171 B array.slice.gen.open.rad 157 B array.slice.gen.start.end.rad 159 B array.slice.gen.start.rad 158 B array.slice.openend.rad 151 B array.slice.openend.ril 351 B array.slice.openstart.rad 151 B array.slice.openstart.ril 289 B array.slice.rad 821 B as.precedence.rad 226 B asm.basic.text.program.ras 187 B asm.branch.comparisons.ras 648 B asm.call.return.flow.ras 203 B asm.compare.set.logic.ras 611 B asm.csr.system.instructions.ras 221 B asm.data.directives.ras 439 B asm.data.symbol.fixup.ras 227 B asm.directive.boundary.values.ras 809 B asm.fence.ras 76 B asm.global.scoped.symbols.ras 207 B asm.instruction.matrix.alu.ras 566 B asm.instruction.matrix.mem.control.ras 355 B asm.instruction.matrix.system.ras 115 B asm.label.fixups.ras 235 B asm.li.expressions.ras 212 B asm.link.rad 103 B asm.link.ras 85 B asm.load.store.widths.ras 711 B asm.mul.div.rem.ras 769 B asm.rodata.prefix.rad 233 B asm.rodata.prefix.ras 163 B asm.scoped.symbols.la.ras 147 B asm.scoped.symbols.tail.ras 157 B asm.section.switching.ras 173 B asm.space.constant.expressions.ras 358 B asm.string.directive.lists.ras 326 B asm.word.dword.constants.ras 372 B asm.word.shift.ops.ras 870 B assert.basic.rad 402 B assert.basic.ril 624 B assert.fail.rad 138 B assert.false.rad 140 B assert.message.rad 123 B assert.message.ril 141 B assert.true.rad 115 B assign.loop.rad 213 B assign.loop.ril 242 B assign.multi.var.rad 194 B assign.multi.var.ril 73 B assign.mutable.rad 6.3 KiB assign.param.rad 150 B assign.param.ril 96 B assign.rad 156 B assign.self.ref.rad 161 B assign.self.ref.ril 92 B assign.sequential.rad 163 B assign.sequential.ril 52 B assign.shadow.mutable.rad 489 B assign.use.intermediate.rad 191 B assign.use.intermediate.ril 99 B average.rad 189 B average.ril 378 B binop.arith.rad 479 B binop.arith.ril 389 B binop.bitwise.rad 1.2 KiB binop.bitwise.ril 1.2 KiB binop.cmp.rad 441 B binop.logical.rad 216 B binop.logical.ril 373 B binop.shift.rad 197 B binop.shift.ril 149 B binop.unsigned.rad 317 B binop.unsigned.ril 236 B bool.comparison.array.rad 688 B bool.comparison.nested.gen.rad 1.0 KiB bool.comparison.opt.rad 905 B bool.comparison.record.gen.rad 1.0 KiB bool.comparison.record.rad 1.1 KiB bool.comparison.slice.gen.rad 157 B bool.comparison.slice.rad 4.5 KiB bool.comparison.slice.record.gen.rad 2.1 KiB bool.comparison.slice.union.gen.rad 2.7 KiB bool.comparison.union.ctor.rad 705 B bool.comparison.union.gen.rad 1.2 KiB bool.comparison.union.record.gen.rad 1.5 KiB bool.comparison.union.simple.gen.rad 296 B bool.operators.complex.rad 384 B bool.operators.rad 831 B bool.short.circuit.rad 2.3 KiB bool.simple.rad 209 B bool.values.rad 787 B builtin.alignof.rad 692 B builtin.alignof.ril 287 B builtin.memory.fence.rad 108 B builtin.size.align.rad 1.2 KiB builtin.sizeof.rad 650 B builtin.sizeof.ril 282 B builtin.sliceof.invalid.cap.rad 264 B builtin.sliceof.mut.rad 671 B builtin.sliceof.rad 535 B byte.load.store.rad 408 B byte.load.store.ril 730 B call.aggregate.arg.snapshot.rad 514 B call.arg.clobber.rad 732 B call.basic.rad 256 B call.clobber.rad 519 B call.tests.rad 764 B call.tests.ril 603 B cast.basic.rad 855 B cast.basic.ril 594 B cast.narrow.rad 583 B cast.narrow.ril 557 B cast.same.size.rad 1.0 KiB cast.same.size.ril 1.1 KiB casting.numbers.rad 1.5 KiB char.literal.rad 180 B cmp.rel.rad 733 B cmp.rel.ril 467 B cmp.unsigned.rad 733 B cmp.unsigned.ril 467 B coercion.implicit.rad 917 B coercion.implicit.ril 1.1 KiB compare.literal.first.u64.rad 301 B compound.assign.field.rad 312 B compound.assign.index.once.rad 431 B compound.assign.rad 1.2 KiB compound.assign.ril 2.0 KiB cond.assign.merge.basic.rad 221 B cond.assign.merge.basic.ril 172 B cond.assign.merge.rad 214 B cond.assign.merge.ril 169 B cond.assign.rad 766 B cond.elseif.rad 204 B cond.elseif.ril 181 B cond.expr.aggregate.rad 1.2 KiB cond.expr.literal-first.rad 326 B cond.expr.rad 1.9 KiB cond.expr.ril 3.5 KiB cond.for.else.break.rad 349 B cond.for.indexed.rad 257 B cond.for.rad 184 B cond.for.range.indexed.rad 549 B cond.for.range.rad 190 B cond.for.unsigned.range.rad 671 B cond.forever.break.continue.rad 201 B cond.forever.break.rad 255 B cond.fused.rad 941 B cond.if.case.rad 2.2 KiB cond.if.else.min.rad 158 B cond.if.else.rad 244 B cond.if.elseif.rad 443 B cond.if.noelse.rad 139 B cond.if.rad 880 B cond.ifelse.rad 104 B cond.ifelse.ril 117 B cond.iflet.case.rad 170 B cond.iflet.case.ril 114 B cond.iflet.guard.rad 182 B cond.iflet.guard.ril 165 B cond.iflet.mut.rad 195 B cond.iflet.mut.ril 217 B cond.iflet.noelse.rad 156 B cond.iflet.noelse.ril 225 B cond.iflet.optional.rad 191 B cond.iflet.optional.ril 118 B cond.iflet.optional.value.rad 194 B cond.iflet.optional.value.ril 206 B cond.letelse.case.rad 146 B cond.letelse.case.ril 149 B cond.letelse.guard.rad 160 B cond.letelse.guard.ril 200 B cond.letelse.mut.rad 185 B cond.letelse.mut.ril 252 B cond.letelse.optional.rad 167 B cond.letelse.optional.ril 153 B cond.match.fallthrough.rad 388 B cond.match.guard.rad 1.4 KiB cond.match.guard.regalloc.rad 1.4 KiB cond.nested.rad 138 B cond.nested.ril 185 B cond.simple.rad 86 B cond.simple.ril 118 B cond.while.else.break.rad 305 B cond.while.rad 138 B const-cast-wrap.rad 450 B const-expr-array-size.rad 379 B const-expr-cast.rad 1.1 KiB const-expr-literal.rad 673 B const-expr-refs.rad 752 B const.array.copy.mutate.rad 397 B const.array.ident.rad 247 B const.array.ident.ril 146 B const.array.rad 217 B const.array.record.ident.rad 390 B const.array.record.ident.ril 353 B const.array.repeat.record.rad 219 B const.array.repeat.record.ril 399 B const.array.repeat.string.slice.rad 317 B const.array.repeat.string.slice.ril 1.1 KiB const.array.ril 392 B const.array.strings.slice.rad 288 B const.array.strings.slice.ril 579 B const.basic.rad 349 B const.char.rad 180 B const.fn.array.rad 670 B const.i32.shift.right.rad 244 B const.local.duplicate.rad 474 B const.local.duplicate.ril 787 B const.negative.rad 331 B const.negative.ril 338 B const.record.array.rad 1.2 KiB const.record.array.simple.rad 553 B const.record.ctor.rad 188 B const.record.ctor.ril 415 B const.record.fn.rad 356 B const.record.mutcopy.rad 460 B const.record.mutcopy.ril 385 B const.record.nested.rad 396 B const.record.nested.ril 474 B const.record.packed.rad 269 B const.record.packed.ril 284 B const.record.padded.rad 269 B const.record.padded.ril 318 B const.record.rad 200 B const.record.ril 221 B const.record.union.rad 610 B const.record.union.ril 673 B const.scalar.rad 105 B const.scalar.ril 82 B const.shift.negative.count.rad 305 B const.slice.of.slices.rad 252 B const.slice.of.slices.ril 956 B const.slice.param.rad 311 B const.string.rad 128 B const.string.ril 309 B const.string.scoped.names.rad 291 B const.string.scoped.names.ril 904 B const.u32.shift.mask.rad 249 B const.u64.compare.rad 188 B const.u64.divide.rad 174 B const.union.payload.ctor.rad 367 B const.union.payload.ctor.ril 507 B const.union.payload.fn.array.rad 1.0 KiB const.union.payload.record.array.rad 1.5 KiB const.union.record.literal.rad 377 B const.union.record.literal.ril 506 B data.array.rad 803 B data.bool.rad 237 B data.i16.rad 288 B data.i32.rad 308 B data.i8.rad 275 B data.record.rad 585 B data.simple.rad 470 B data.u16.rad 244 B data.u32.rad 264 B data.u8.rad 232 B data.union.rad 919 B debug.tag.rad 557 B div.u8.immediate.wrap.rad 213 B ecall.i64.rad 773 B edge.cases.2.rad 362 B edge.cases.3.rad 607 B edge.cases.4.rad 1.3 KiB edge.cases.5.rad 1.1 KiB edge.cases.6.rad 2.7 KiB edge.cases.7.addr.bug.rad 272 B edge.cases.8.bug.rad 541 B edge.cases.rad 248 B error.basic.rad 174 B error.catch.rad 1.6 KiB error.catch.return.rad 403 B error.catch.return.ril 634 B error.division.zero.rad 164 B error.modulo.zero.rad 162 B error.multi.basic.rad 699 B error.multi.catch.rad 807 B error.multi.catch.typed.binding.rad 818 B error.multi.catch.typed.catchall.rad 1.0 KiB error.multi.catch.typed.rad 1.1 KiB error.multi.propagate.multi.rad 988 B error.multi.propagate.rad 852 B error.multi.try.optional.rad 522 B error.slice.bounds.rad 190 B error.throw.coercion.rad 318 B error.try.bang.success.rad 370 B error.try.catch.binding.rad 2.0 KiB error.try.optional.rad 1.9 KiB error.try.rad 4.0 KiB extern.inferred.rad 70 B externfn.rad 32 B externfn.ril 37 B fibonacci.rad 122 B fibonacci.ril 247 B field.aggregate.rad 810 B field.aggregate.ril 782 B fn.block.scope.rad 508 B fn.callback.nested.rad 1.2 KiB fn.default.rad 146 B fn.local.rad 155 B fn.ptr.assign.rad 277 B fn.ptr.assign.ril 143 B fn.ptr.call.rad 258 B fn.ptr.call.ril 183 B fn.ptr.param.rad 356 B fn.ptr.param.ril 282 B fn.recursion.2.rad 239 B fn.void.rad 165 B for.else.continue.rad 1.2 KiB frame.large.rad 614 B if-let-mut.rad 1.2 KiB iflet.shadow.else.rad 408 B iflet.shadow.leak.rad 317 B index.eval.order.rad 382 B index.u8.rad 581 B int.default.i64.rad 1.1 KiB integer.bitwise.basic.rad 708 B integer.overflow.rad 1.8 KiB intrinsic.ebreak.rad 90 B intrinsic.ebreak.ril 76 B intrinsic.ecall.rad 186 B intrinsic.ecall.ril 131 B large.blit.store.rad 2.1 KiB let.copy.semantics.rad 871 B let.copy.semantics.ril 879 B let.guard.rad 1.9 KiB let.placeholder.rad 287 B let.placeholder.ril 220 B linear.let-else.rad 402 B linear.ownership.rad 397 B linear.ownership.ril 353 B linear.reference.rad 665 B linear.reference.ril 623 B linear.unsafe.rad 535 B linear.unsafe.ril 286 B literal.char.rad 209 B literal.char.ril 127 B literal.slice.bytes.rad 131 B literal.slice.bytes.ril 263 B literal.slice.dedup.rad 206 B literal.slice.dedup.ril 434 B literal.slice.empty.rad 107 B literal.slice.empty.ril 157 B literal.slice.multi.rad 177 B literal.slice.multi.ril 496 B literal.slice.rad 130 B literal.slice.record.rad 218 B literal.slice.record.ril 694 B literal.slice.ril 272 B literal.string.dedup.rad 186 B literal.string.dedup.ril 422 B literal.string.empty.rad 100 B literal.string.empty.ril 248 B literal.string.fns.rad 194 B literal.string.fns.ril 470 B literal.string.multi.rad 160 B literal.string.multi.ril 480 B literal.string.rad 115 B literal.string.ril 247 B literal.w64.rad 1.7 KiB load.u32.high.rad 1.8 KiB loc.addr.offset.bug.rad 443 B loc.addr.opt.to.opt.rad 466 B loc.addr.optional.assign.rad 441 B loc.addr.record.assign.rad 487 B local.multi.rad 85 B local.multi.ril 67 B local.mut.rad 79 B local.mut.ril 45 B local.simple.rad 60 B local.simple.ril 45 B loop.break.rad 156 B loop.break.ril 228 B loop.complex.flow.rad 1.0 KiB loop.continue.rad 219 B loop.continue.ril 327 B loop.for.array.rad 223 B loop.for.array.ril 315 B loop.for.break.bound.rad 161 B loop.for.break.bound.ril 264 B loop.for.continue.rad 403 B loop.for.continue.ril 741 B loop.for.indexed.rad 149 B loop.for.indexed.ril 285 B loop.for.placeholder.rad 321 B loop.for.placeholder.ril 457 B loop.for.rad 120 B loop.for.ril 220 B loop.for.slice.rad 216 B loop.for.slice.ril 362 B loop.for.unsigned.range.rad 317 B loop.for.unsigned.range.ril 481 B loop.infinite.rad 41 B loop.infinite.ril 78 B loop.mutable.rad 375 B loop.mutable.ril 617 B loop.nested.break.rad 392 B loop.nested.break.ril 461 B loop.nested.continue.rad 418 B loop.nested.continue.ril 581 B loop.return.rad 141 B loop.return.ril 179 B loop.sealblock.rad 942 B loop.while.false.noparams.rad 175 B loop.while.false.noparams.ril 171 B loop.while.nested.shortcircuit.rad 872 B loop.while.nested.shortcircuit.ril 589 B loop.while.rad 164 B loop.while.ril 241 B loop.whilelet.case.rad 259 B loop.whilelet.case.ril 204 B loop.whilelet.guard.rad 265 B loop.whilelet.guard.ril 256 B loop.whilelet.optional.rad 219 B loop.whilelet.optional.ril 217 B loop.whilelet.union.rad 376 B loop.whilelet.union.ril 382 B lower.const.record.ident.rad 293 B lower.const.record.ident.ril 387 B lower.private.union.const.rad 261 B lower.private.union.const.ril 317 B lower.record.scalar.record.const.rad 246 B lower.record.scalar.record.const.ril 321 B match.array.rad 3.5 KiB match.char.rad 1.6 KiB match.more.rad 647 B match.more.ril 683 B match.multi.seal.rad 1002 B match.multi.seal.ril 924 B match.multi.survive.rad 1.6 KiB match.mutref.push.rad 1.1 KiB match.mutref.union.rad 681 B match.nested.call.rad 1.7 KiB match.nested.deep.rad 2.2 KiB match.nested.deref.rad 3.8 KiB match.nested.guard.rad 1.6 KiB match.nested.iflet.guard.rad 1.6 KiB match.nested.iflet.rad 1.4 KiB match.nested.iflet.ril 2.3 KiB match.nested.letelse.rad 828 B match.nested.letelse.union.rad 1.3 KiB match.nested.literal.rad 3.1 KiB match.nested.multi.rad 2.4 KiB match.nested.pattern.rad 5.2 KiB match.nested.pattern.ril 8.3 KiB match.nested.record.rad 2.1 KiB match.nested.record.ril 3.5 KiB match.nested.union.rad 2.3 KiB match.nested.union.ril 4.5 KiB match.nested.whilelet.rad 2.4 KiB match.optional.aggregate.rad 222 B match.optional.aggregate.ril 578 B match.optional.rad 190 B match.optional.ref.rad 212 B match.optional.ref.ril 232 B match.optional.ril 164 B match.optional.wildcard.rad 282 B match.record.pattern.rad 325 B match.record.pattern.ril 287 B match.simple.rad 367 B match.simple.ril 347 B match.string.rad 1.9 KiB match.switch.rad 217 B match.switch.ril 187 B match.value.copy.rad 2.0 KiB match.void.then.or.rad 1.6 KiB memzero.result.bug.rad 829 B memzero.union.bug.rad 606 B method.basic.rad 591 B method.chain.rad 596 B method.multiple.rad 904 B method.ptr.rad 711 B method.pub.rad 241 B method.return.rad 613 B method.throws.rad 837 B method.union.rad 424 B method.with.trait.rad 672 B mixedtypes.rad 79 B mixedtypes.ril 82 B multi.throw.basic.rad 272 B multi.throw.basic.ril 526 B multi.throw.catch.typed.rad 444 B multi.throw.catch.typed.ril 1015 B multi.throw.propagate.rad 335 B multi.throw.propagate.ril 873 B multiplefns.rad 110 B multiplefns.ril 146 B mutref.call.result.rad 330 B mutref.loop.bug.rad 1.8 KiB mutref.loop.rad 268 B mutref.loop.ril 368 B mutref.scalar.rad 232 B mutref.scalar.ril 324 B nil.cmp.rad 636 B nil.cmp.ril 423 B noparams.rad 38 B noparams.ril 43 B opt.array.hint.rad 951 B opt.assignment.bug.rad 1.3 KiB opt.bug.test.rad 1.4 KiB opt.if.let.complex.rad 6.2 KiB opt.if.let.guard.rad 809 B opt.if.let.rad 956 B opt.nil.check.rad 1.6 KiB opt.ptr.return.nil.rad 92 B opt.ptr.return.nil.ril 51 B opt.record.eq.rad 854 B opt.record.eq.rev.rad 307 B opt.record.eq.rev.ril 635 B opt.record.eq.ril 3.4 KiB opt.record.rad 667 B opt.return.array.rad 289 B opt.return.nested.rad 797 B opt.return.nil.rad 82 B opt.return.nil.ril 114 B opt.return.record.rad 344 B opt.return.value.rad 91 B opt.return.value.ril 138 B opt.slice.npo.rad 2.8 KiB opt.slice.npo.ril 6.8 KiB opt.type.rad 227 B opt.while.let.complex.rad 412 B optional.aggregate.eq.rad 286 B optional.aggregate.eq.ril 695 B optional.eq.rad 131 B optional.eq.ril 253 B optional.ptr.eq.rad 341 B optional.ptr.eq.ril 309 B optional.record.value.match.rad 600 B panic.basic.rad 70 B panic.basic.ril 46 B panic.rad 111 B parser.call.record.argument.rad 203 B parser.condition.array.record.rad 226 B parser.condition.subscript.record.rad 272 B placeholder.basic.rad 148 B placeholder.comprehensive.rad 581 B pointer.copy.edge.case.rad 1.4 KiB pointer.slice.index.rad 291 B pointer.slice.store.rad 944 B pointerfn.rad 57 B pointerfn.ril 54 B prog.ackermann.rad 5.0 KiB prog.bignum.rad 9.8 KiB prog.binsearch.rad 2.5 KiB prog.bubblesort.rad 2.0 KiB prog.cordic.rad 7.0 KiB prog.crc32.rad 2.8 KiB prog.dijkstra.rad 8.0 KiB prog.eval.rad 6.7 KiB prog.hanoi.rad 3.8 KiB prog.huffman.rad 9.6 KiB prog.hybridsort.rad 3.1 KiB prog.linkedlist.rad 5.9 KiB prog.lzw.rad 7.0 KiB prog.matmul.rad 2.9 KiB prog.mersenne.rad 5.4 KiB prog.nqueens.rad 3.5 KiB prog.rbtree.rad 8.6 KiB prog.regex.rad 10.6 KiB prog.sha256.rad 7.2 KiB prog.sieve.rad 2.9 KiB prog.symtab.rad 10.3 KiB prog.tokenizer.rad 14.1 KiB prog.vm.rad 18.0 KiB ptr.addressof.field.rad 139 B ptr.addressof.field.ril 78 B ptr.addressof.local.rad 476 B ptr.addressof.local.ril 280 B ptr.addressof.rad 126 B ptr.addressof.ril 213 B ptr.assign.rad 148 B ptr.assign.ril 130 B ptr.deref.rad 650 B ptr.deref.record.rad 296 B ptr.deref.record.ril 190 B ptr.deref.ril 1.1 KiB ptr.eq.rad 1009 B ptr.mutate.rad 277 B ptr.opaque.rad 1.4 KiB ptr.subscript.assign.rad 140 B ptr.subscript.assign.ril 288 B range.arithmetic.rad 730 B record.access.rad 300 B record.alignment.rad 194 B record.array.elements.rad 1.7 KiB record.assign.blit.rad 115 B record.assign.blit.ril 158 B record.copy.rad 2.1 KiB record.ctor.tuple.rad 69 B record.ctor.tuple.ril 127 B record.empty.eq.rad 272 B record.empty.eq.ril 226 B record.eq.rad 223 B record.eq.ril 214 B record.field.assign.rad 211 B record.field.assign.ril 308 B record.literal.labeled.rad 103 B record.literal.labeled.ril 127 B record.mixed.layout.rad 116 B record.mixed.layout.ril 149 B record.nested.calls.2.rad 616 B record.nested.calls.3.rad 749 B record.nested.eq.rad 246 B record.nested.eq.ril 522 B record.nested.lit.rad 170 B record.nested.lit.ril 188 B record.param.lit.rad 368 B record.ptr.access.rad 249 B record.ptr.access.ril 198 B record.ptr.mutate.rad 257 B record.shorthand.rad 1.5 KiB record.unlabeled.deref.rad 1.4 KiB record.unlabeled.rad 407 B ref.if.bug.rad 548 B ref.immut.loop.bug.rad 695 B ref.mut.ptr.rad 277 B reference.array.repeat.rad 142 B reference.array.repeat.ril 260 B regalloc.callee.save.rad 1.5 KiB regalloc.spill.reuse.rad 488 B reserve.loop.rad 415 B reserve.loop.ril 473 B result.void.success.rad 705 B return.lit.rad 45 B return.lit.ril 50 B return.param.rad 48 B return.param.ril 54 B rv64.u32.compare.rad 2.1 KiB set.keyword.rad 442 B simplefn.rad 45 B simplefn.ril 51 B slice.alloc.loop.rad 828 B slice.append.rad 4.2 KiB slice.append.ril 18.4 KiB slice.assign.mismatch.rad 220 B slice.assign.rad 1.4 KiB slice.basic.rad 784 B slice.basic.ril 818 B slice.cap.rad 963 B slice.delete.rad 993 B slice.delete.ril 4.8 KiB slice.empty.suffix.rad 579 B slice.eq.rad 133 B slice.eq.ril 209 B slice.index.rad 104 B slice.index.ril 278 B slice.mutable.rad 297 B slice.mutable.ril 1.5 KiB slice.of.rad 489 B slice.range.bounds.check.rad 292 B slice.range.dynamic.rad 870 B slice.range.order.check.rad 291 B slice.range.rad 641 B slice.range.ril 1.8 KiB slice.runtime.i32.rad 258 B slice.runtime.i32.ril 725 B slice.runtime.literal.rad 257 B slice.runtime.literal.ril 455 B slice.subslice.rad 1.4 KiB spill.blockarg.clobber.rad 3.6 KiB spill.loop.rad 1.6 KiB stack.local.corrupt.rad 335 B start.default.rad 62 B start.default.start.ras 29 B start.exit.rad 54 B start.exit.start.ras 53 B static.array.mutate.rad 427 B static.assign.rad 131 B static.assign.ril 244 B static.basic.rad 347 B static.fn.array.rad 628 B static.local.decl.rad 201 B static.local.decl.ril 420 B static.record.array.rad 526 B static.scalar.rad 109 B static.scalar.ril 135 B static.slice.index.assign.rad 438 B static.slice.offset.rad 717 B static.zero.bss.rad 1.1 KiB string.basic.rad 171 B string.escape.rad 371 B string.index.rad 138 B switch.blockargs.clobber.rad 1.4 KiB trait.aggregate.ret.rad 1.7 KiB trait.array.optional.rad 1.7 KiB trait.basic.rad 629 B trait.control.flow.rad 1.2 KiB trait.dispatch.rad 327 B trait.dispatch.ril 469 B trait.fn.param.rad 1.6 KiB trait.multiple.methods.rad 1.3 KiB trait.multiple.traits.rad 1.4 KiB trait.multiple.types.rad 1.4 KiB trait.object.rad 392 B trait.object.ril 575 B trait.supertrait.forward.rad 643 B trait.supertrait.rad 2.9 KiB trait.supertrait.ril 4.5 KiB trait.throws.rad 1.1 KiB trait.writer.rad 2.7 KiB trivial.phi.rad 1.1 KiB trivial.phi.ril 512 B try.basic.rad 391 B try.basic.ril 879 B try.catch.rad 339 B try.catch.ril 837 B try.optional.rad 363 B try.optional.ril 760 B try.panic.rad 351 B try.panic.ril 639 B type.unify.rad 4.6 KiB undefined.aggregate.rad 159 B undefined.aggregate.ril 84 B undefined.primitive.rad 122 B undefined.primitive.ril 48 B undefined.rad 459 B undefined.record.field.rad 1.6 KiB undefined.record.field.ril 751 B union-tag.rad 940 B union.bitfield.rad 1.2 KiB union.ctor.rad 552 B union.ctor.ril 385 B union.discriminant.cast.rad 389 B union.edge.case.2.rad 694 B union.edge.case.3.rad 648 B union.eq.rad 783 B union.eq.ril 1.4 KiB union.eq.void.ctor.rad 378 B union.eq.void.ctor.ril 131 B union.eq.void.rad 178 B union.eq.void.ril 75 B union.match.bind.rad 259 B union.match.bind.ril 238 B union.match.ref.rad 1.1 KiB union.match.ref.ril 1.2 KiB union.match.tag.rad 858 B union.match.tag.ril 820 B union.mixed.assign.rad 1000 B union.payload.mutref.rad 1.4 KiB union.payload.rad 595 B union.payload.record.eq.rad 292 B union.payload.record.eq.ril 984 B union.record.forward.rad 1.3 KiB union.record.literal.rad 444 B union.record.literal.ril 391 B union.variant.access.rad 731 B union.variant.access.ril 506 B union.void.match.rad 418 B union.void.rad 839 B unop.rad 699 B unop.ril 506 B unsigned.compare.rad 1.9 KiB var.align.rad 1.0 KiB var.infer.rad 568 B var.shadow.rad 244 B var.shadow.ril 145 B void.throw.rad 270 B void.throw.ril 707 B voidfn.rad 18 B voidfn.ril 43 B wildcard.import.owner.rad 198 B run 2.7 KiB runner.rad 10.4 KiB vim/ .gitignore 336 B .gitsigners 112 B LICENSE 1.1 KiB Makefile 3.7 KiB README 2.5 KiB STYLE 2.5 KiB std.lib 1.2 KiB std.lib.test 373 B
test/tests/match.nested.pattern.ril 8.3 KiB raw
1
fn w32 $testNestedMatch(w64 %0) {
2
  @entry0
3
    reserve %1 16 4;
4
    blit %1 %0 16;
5
    jmp @arm1;
6
  @arm1
7
    load w8 %2 %1 0;
8
    br.eq w8 %2 0 @case2 @arm3;
9
  @case2
10
    add w64 %3 %1 4;
11
    sload w32 %4 %3 0;
12
    sload w32 %5 %3 4;
13
    sload w32 %6 %3 8;
14
    add w32 %7 %4 %5;
15
    add w32 %8 %7 %6;
16
    ret %8;
17
  @arm3
18
    jmp @case4;
19
  @case4
20
    ret 0;
21
}
22
23
fn w32 $testNestedIfLetCase(w64 %0) {
24
  @entry0
25
    reserve %1 16 4;
26
    blit %1 %0 16;
27
    load w8 %2 %1 0;
28
    br.eq w8 %2 0 @then1 @else2;
29
  @then1
30
    add w64 %3 %1 4;
31
    sload w32 %4 %3 0;
32
    sload w32 %5 %3 4;
33
    sload w32 %6 %3 8;
34
    add w32 %7 %4 %5;
35
    add w32 %8 %7 %6;
36
    ret %8;
37
  @else2
38
    jmp @merge3;
39
  @merge3
40
    ret 0;
41
}
42
43
fn w32 $testNestedPlaceholder(w64 %0) {
44
  @entry0
45
    reserve %1 16 4;
46
    blit %1 %0 16;
47
    jmp @arm1;
48
  @arm1
49
    load w8 %2 %1 0;
50
    br.eq w8 %2 0 @case2 @arm3;
51
  @case2
52
    add w64 %3 %1 4;
53
    sload w32 %4 %3 0;
54
    sload w32 %5 %3 8;
55
    add w32 %6 %4 %5;
56
    ret %6;
57
  @arm3
58
    jmp @case4;
59
  @case4
60
    ret 0;
61
}
62
63
fn w32 $testDeepNesting(w64 %0) {
64
  @entry0
65
    reserve %1 16 4;
66
    blit %1 %0 16;
67
    jmp @arm1;
68
  @arm1
69
    load w8 %2 %1 0;
70
    br.eq w8 %2 0 @case2 @arm3;
71
  @case2
72
    add w64 %3 %1 4;
73
    sload w32 %4 %3 0;
74
    sload w32 %5 %3 4;
75
    sload w32 %6 %3 8;
76
    add w32 %7 %4 %5;
77
    add w32 %8 %7 %6;
78
    ret %8;
79
  @arm3
80
    jmp @case4;
81
  @case4
82
    ret 0;
83
}
84
85
fn w32 $testNestedUnionLiteral(w64 %0) {
86
  @entry0
87
    reserve %1 12 4;
88
    blit %1 %0 12;
89
    jmp @arm1;
90
  @arm1
91
    load w8 %2 %1 0;
92
    br.eq w8 %2 0 @case2 @arm3;
93
  @case2
94
    add w64 %3 %1 4;
95
    load w8 %4 %3 0;
96
    br.eq w8 %4 0 @nest4 @arm3;
97
  @arm3
98
    load w8 %6 %1 0;
99
    br.eq w8 %6 0 @case6 @arm7;
100
  @nest4
101
    sload w32 %5 %3 4;
102
    jmp @case5;
103
  @case5
104
    ret %5;
105
  @case6
106
    add w64 %7 %1 4;
107
    load w8 %8 %7 0;
108
    br.eq w8 %8 1 @nest8 @arm7;
109
  @arm7
110
    jmp @else10;
111
  @nest8
112
    sload w32 %9 %7 4;
113
    jmp @case9;
114
  @case9
115
    sub w32 %10 0 %9;
116
    ret %10;
117
  @else10
118
    ret 0;
119
}
120
121
fn w32 $testMixedNesting(w64 %0) {
122
  @entry0
123
    reserve %1 20 4;
124
    blit %1 %0 20;
125
    jmp @arm1;
126
  @arm1
127
    load w8 %2 %1 0;
128
    br.eq w8 %2 0 @case2 @arm3;
129
  @case2
130
    add w64 %3 %1 4;
131
    sload w32 %4 %3 0;
132
    sload w32 %5 %3 4;
133
    sload w32 %6 %3 8;
134
    add w32 %7 %4 %5;
135
    add w32 %8 %7 %6;
136
    ret %8;
137
  @arm3
138
    load w8 %9 %1 0;
139
    br.eq w8 %9 1 @case4 @arm5;
140
  @case4
141
    add w64 %10 %1 4;
142
    sload w32 %11 %10 0;
143
    sload w32 %12 %10 4;
144
    add w64 %13 %10 8;
145
    sload w32 %14 %13 0;
146
    sload w32 %15 %13 4;
147
    add w32 %16 %11 %12;
148
    add w32 %17 %16 %14;
149
    add w32 %18 %17 %15;
150
    ret %18;
151
  @arm5
152
    jmp @case6;
153
  @case6
154
    ret 0;
155
}
156
157
fn w32 $testNestedUnionInRecord(w64 %0) {
158
  @entry0
159
    reserve %1 20 4;
160
    blit %1 %0 20;
161
    jmp @arm1;
162
  @arm1
163
    load w8 %2 %1 0;
164
    br.eq w8 %2 0 @case2 @arm3;
165
  @case2
166
    add w64 %3 %1 4;
167
    load w8 %4 %3 0;
168
    br.eq w8 %4 0 @nest4 @arm3;
169
  @arm3
170
    load w8 %11 %1 0;
171
    br.eq w8 %11 0 @case6 @arm7;
172
  @nest4
173
    add w64 %5 %3 4;
174
    sload w32 %6 %5 0;
175
    sload w32 %7 %5 4;
176
    sload w32 %8 %3 12;
177
    jmp @case5;
178
  @case5
179
    add w32 %9 %6 %7;
180
    add w32 %10 %9 %8;
181
    ret %10;
182
  @case6
183
    add w64 %12 %1 4;
184
    load w8 %13 %12 0;
185
    br.eq w8 %13 1 @nest8 @arm7;
186
  @arm7
187
    jmp @else10;
188
  @nest8
189
    jmp @case9;
190
  @case9
191
    ret -1;
192
  @else10
193
    ret 0;
194
}
195
196
fn w32 $testPartialNesting(w64 %0) {
197
  @entry0
198
    reserve %1 20 4;
199
    blit %1 %0 20;
200
    jmp @arm1;
201
  @arm1
202
    load w8 %2 %1 0;
203
    br.eq w8 %2 0 @case2 @arm3;
204
  @case2
205
    add w64 %3 %1 4;
206
    sload w32 %4 %3 8;
207
    sload w32 %5 %3 0;
208
    sload w32 %6 %3 4;
209
    add w32 %7 %5 %6;
210
    add w32 %8 %7 %4;
211
    ret %8;
212
  @arm3
213
    load w8 %9 %1 0;
214
    br.eq w8 %9 1 @case4 @arm5;
215
  @case4
216
    add w64 %10 %1 4;
217
    add w64 %11 %10 8;
218
    sload w32 %12 %11 0;
219
    sload w32 %13 %11 4;
220
    sload w32 %14 %10 0;
221
    sload w32 %15 %10 4;
222
    add w32 %16 %14 %15;
223
    add w32 %17 %16 %12;
224
    add w32 %18 %17 %13;
225
    ret %18;
226
  @arm5
227
    jmp @case6;
228
  @case6
229
    ret 0;
230
}
231
232
fn w32 $main() {
233
  @entry0
234
    reserve %0 16 4;
235
    store w8 0 %0 0;
236
    reserve %1 8 4;
237
    store w32 10 %1 0;
238
    store w32 20 %1 4;
239
    add w64 %2 %0 4;
240
    blit %2 %1 8;
241
    store w32 30 %0 12;
242
    call w32 %3 $testNestedMatch(%0);
243
    br.eq w32 %3 60 @assert.ok2 @assert.fail1;
244
  @assert.fail1
245
    unreachable;
246
  @assert.ok2
247
    reserve %4 16 4;
248
    store w8 1 %4 0;
249
    call w32 %5 $testNestedMatch(%4);
250
    br.eq w32 %5 0 @assert.ok4 @assert.fail3;
251
  @assert.fail3
252
    unreachable;
253
  @assert.ok4
254
    call w32 %6 $testNestedIfLetCase(%0);
255
    br.eq w32 %6 60 @assert.ok6 @assert.fail5;
256
  @assert.fail5
257
    unreachable;
258
  @assert.ok6
259
    reserve %7 16 4;
260
    store w8 1 %7 0;
261
    call w32 %8 $testNestedIfLetCase(%7);
262
    br.eq w32 %8 0 @assert.ok8 @assert.fail7;
263
  @assert.fail7
264
    unreachable;
265
  @assert.ok8
266
    call w32 %9 $testNestedPlaceholder(%0);
267
    br.eq w32 %9 40 @assert.ok10 @assert.fail9;
268
  @assert.fail9
269
    unreachable;
270
  @assert.ok10
271
    reserve %10 16 4;
272
    store w8 0 %10 0;
273
    reserve %11 8 4;
274
    reserve %12 4 4;
275
    store w32 100 %12 0;
276
    blit %11 %12 4;
277
    store w32 200 %11 4;
278
    add w64 %13 %10 4;
279
    blit %13 %11 8;
280
    store w32 300 %10 12;
281
    call w32 %14 $testDeepNesting(%10);
282
    br.eq w32 %14 600 @assert.ok12 @assert.fail11;
283
  @assert.fail11
284
    unreachable;
285
  @assert.ok12
286
    reserve %15 16 4;
287
    store w8 1 %15 0;
288
    call w32 %16 $testDeepNesting(%15);
289
    br.eq w32 %16 0 @assert.ok14 @assert.fail13;
290
  @assert.fail13
291
    unreachable;
292
  @assert.ok14
293
    reserve %17 12 4;
294
    store w8 0 %17 0;
295
    store w8 0 %17 4;
296
    store w32 5 %17 8;
297
    call w32 %18 $testNestedUnionLiteral(%17);
298
    br.eq w32 %18 5 @assert.ok16 @assert.fail15;
299
  @assert.fail15
300
    unreachable;
301
  @assert.ok16
302
    reserve %19 12 4;
303
    store w8 0 %19 0;
304
    store w8 1 %19 4;
305
    store w32 3 %19 8;
306
    call w32 %20 $testNestedUnionLiteral(%19);
307
    br.eq w32 %20 -3 @assert.ok18 @assert.fail17;
308
  @assert.fail17
309
    unreachable;
310
  @assert.ok18
311
    reserve %21 12 4;
312
    store w8 1 %21 0;
313
    call w32 %22 $testNestedUnionLiteral(%21);
314
    br.eq w32 %22 0 @assert.ok20 @assert.fail19;
315
  @assert.fail19
316
    unreachable;
317
  @assert.ok20
318
    reserve %23 20 4;
319
    store w8 0 %23 0;
320
    reserve %24 8 4;
321
    store w32 1 %24 0;
322
    store w32 2 %24 4;
323
    add w64 %25 %23 4;
324
    blit %25 %24 8;
325
    store w32 10 %23 12;
326
    call w32 %26 $testMixedNesting(%23);
327
    br.eq w32 %26 13 @assert.ok22 @assert.fail21;
328
  @assert.fail21
329
    unreachable;
330
  @assert.ok22
331
    reserve %27 20 4;
332
    store w8 1 %27 0;
333
    reserve %28 8 4;
334
    store w32 3 %28 0;
335
    store w32 4 %28 4;
336
    add w64 %29 %27 4;
337
    blit %29 %28 8;
338
    reserve %30 8 4;
339
    store w32 5 %30 0;
340
    store w32 6 %30 4;
341
    add w64 %31 %27 12;
342
    blit %31 %30 8;
343
    call w32 %32 $testMixedNesting(%27);
344
    br.eq w32 %32 18 @assert.ok24 @assert.fail23;
345
  @assert.fail23
346
    unreachable;
347
  @assert.ok24
348
    reserve %33 20 4;
349
    store w8 2 %33 0;
350
    call w32 %34 $testMixedNesting(%33);
351
    br.eq w32 %34 0 @assert.ok26 @assert.fail25;
352
  @assert.fail25
353
    unreachable;
354
  @assert.ok26
355
    reserve %35 20 4;
356
    store w8 0 %35 0;
357
    reserve %36 16 4;
358
    reserve %37 12 4;
359
    store w8 0 %37 0;
360
    store w32 7 %37 4;
361
    store w32 8 %37 8;
362
    blit %36 %37 12;
363
    store w32 100 %36 12;
364
    add w64 %38 %35 4;
365
    blit %38 %36 16;
366
    call w32 %39 $testNestedUnionInRecord(%35);
367
    br.eq w32 %39 115 @assert.ok28 @assert.fail27;
368
  @assert.fail27
369
    unreachable;
370
  @assert.ok28
371
    reserve %40 20 4;
372
    store w8 0 %40 0;
373
    reserve %41 16 4;
374
    reserve %42 12 4;
375
    store w8 1 %42 0;
376
    blit %41 %42 12;
377
    store w32 99 %41 12;
378
    add w64 %43 %40 4;
379
    blit %43 %41 16;
380
    call w32 %44 $testNestedUnionInRecord(%40);
381
    br.eq w32 %44 -1 @assert.ok30 @assert.fail29;
382
  @assert.fail29
383
    unreachable;
384
  @assert.ok30
385
    reserve %45 20 4;
386
    store w8 1 %45 0;
387
    call w32 %46 $testNestedUnionInRecord(%45);
388
    br.eq w32 %46 0 @assert.ok32 @assert.fail31;
389
  @assert.fail31
390
    unreachable;
391
  @assert.ok32
392
    call w32 %47 $testPartialNesting(%23);
393
    br.eq w32 %47 13 @assert.ok34 @assert.fail33;
394
  @assert.fail33
395
    unreachable;
396
  @assert.ok34
397
    call w32 %48 $testPartialNesting(%27);
398
    br.eq w32 %48 18 @assert.ok36 @assert.fail35;
399
  @assert.fail35
400
    unreachable;
401
  @assert.ok36
402
    reserve %49 20 4;
403
    store w8 2 %49 0;
404
    call w32 %50 $testPartialNesting(%49);
405
    br.eq w32 %50 0 @assert.ok38 @assert.fail37;
406
  @assert.fail37
407
    unreachable;
408
  @assert.ok38
409
    ret 0;
410
}