Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug: invalid downcast [10] into [15]: target range contains the source range #834

Open
enitrat opened this issue Oct 4, 2024 · 0 comments

Comments

@enitrat
Copy link

enitrat commented Oct 4, 2024

Executing scarb-native-test on the following program panics.

fn execute_opcode(opcode: u8) -> () {
    match opcode {
        0 => println!("{}", opcode),
        1 => println!("{}", opcode),
        2 => println!("{}", opcode),
        3 => println!("{}", opcode),
        4 => println!("{}", opcode),
        5 => println!("{}", opcode),
        6 => println!("{}", opcode),
        7 => println!("{}", opcode),
        8 => println!("{}", opcode),
        9 => println!("{}", opcode),
        10 => println!("{}", opcode),
        11 => println!("{}", opcode),
        12 => println!("{}", opcode),
        13 => println!("{}", opcode),
        14 => println!("{}", opcode),
        15 => println!("{}", opcode),
        16 => println!("{}", opcode),
        17 => println!("{}", opcode),
        18 => println!("{}", opcode),
        19 => println!("{}", opcode),
        20 => println!("{}", opcode),
        21 => println!("{}", opcode),
        22 => println!("{}", opcode),
        23 => println!("{}", opcode),
        24 => println!("{}", opcode),
        25 => println!("{}", opcode),
        26 => println!("{}", opcode),
        27 => println!("{}", opcode),
        28 => println!("{}", opcode),
        29 => println!("{}", opcode),
        30 => println!("{}", opcode),
        31 => println!("{}", opcode),
        32 => println!("{}", opcode),
        33 => println!("{}", opcode),
        34 => println!("{}", opcode),
        35 => println!("{}", opcode),
        36 => println!("{}", opcode),
        37 => println!("{}", opcode),
        38 => println!("{}", opcode),
        39 => println!("{}", opcode),
        40 => println!("{}", opcode),
        41 => println!("{}", opcode),
        42 => println!("{}", opcode),
        43 => println!("{}", opcode),
        44 => println!("{}", opcode),
        45 => println!("{}", opcode),
        46 => println!("{}", opcode),
        47 => println!("{}", opcode),
        48 => println!("{}", opcode),
        49 => println!("{}", opcode),
        50 => println!("{}", opcode),
        51 => println!("{}", opcode),
        52 => println!("{}", opcode),
        53 => println!("{}", opcode),
        54 => println!("{}", opcode),
        55 => println!("{}", opcode),
        56 => println!("{}", opcode),
        57 => println!("{}", opcode),
        58 => println!("{}", opcode),
        59 => println!("{}", opcode),
        60 => println!("{}", opcode),
        61 => println!("{}", opcode),
        62 => println!("{}", opcode),
        63 => println!("{}", opcode),
        64 => println!("{}", opcode),
        65 => println!("{}", opcode),
        66 => println!("{}", opcode),
        67 => println!("{}", opcode),
        68 => println!("{}", opcode),
        69 => println!("{}", opcode),
        70 => println!("{}", opcode),
        71 => println!("{}", opcode),
        72 => println!("{}", opcode),
        73 => println!("{}", opcode),
        74 => println!("{}", opcode),
        75 => println!("{}", opcode),
        76 => println!("{}", opcode),
        77 => println!("{}", opcode),
        78 => println!("{}", opcode),
        79 => println!("{}", opcode),
        80 => println!("{}", opcode),
        81 => println!("{}", opcode),
        82 => println!("{}", opcode),
        83 => println!("{}", opcode),
        84 => println!("{}", opcode),
        85 => println!("{}", opcode),
        86 => println!("{}", opcode),
        87 => println!("{}", opcode),
        88 => println!("{}", opcode),
        89 => println!("{}", opcode),
        90 => println!("{}", opcode),
        91 => println!("{}", opcode),
        92 => println!("{}", opcode),
        93 => println!("{}", opcode),
        94 => println!("{}", opcode),
        95 => println!("{}", opcode),
        96 => println!("{}", opcode),
        97 => println!("{}", opcode),
        98 => println!("{}", opcode),
        99 => println!("{}", opcode),
        100 => println!("{}", opcode),
        101 => println!("{}", opcode),
        102 => println!("{}", opcode),
        103 => println!("{}", opcode),
        104 => println!("{}", opcode),
        105 => println!("{}", opcode),
        106 => println!("{}", opcode),
        107 => println!("{}", opcode),
        108 => println!("{}", opcode),
        109 => println!("{}", opcode),
        110 => println!("{}", opcode),
        111 => println!("{}", opcode),
        112 => println!("{}", opcode),
        113 => println!("{}", opcode),
        114 => println!("{}", opcode),
        115 => println!("{}", opcode),
        116 => println!("{}", opcode),
        117 => println!("{}", opcode),
        118 => println!("{}", opcode),
        119 => println!("{}", opcode),
        120 => println!("{}", opcode),
        121 => println!("{}", opcode),
        122 => println!("{}", opcode),
        123 => println!("{}", opcode),
        124 => println!("{}", opcode),
        125 => println!("{}", opcode),
        126 => println!("{}", opcode),
        127 => println!("{}", opcode),
        128 => println!("{}", opcode),
        129 => println!("{}", opcode),
        130 => println!("{}", opcode),
        131 => println!("{}", opcode),
        132 => println!("{}", opcode),
        133 => println!("{}", opcode),
        134 => println!("{}", opcode),
        135 => println!("{}", opcode),
        136 => println!("{}", opcode),
        137 => println!("{}", opcode),
        138 => println!("{}", opcode),
        139 => println!("{}", opcode),
        140 => println!("{}", opcode),
        141 => println!("{}", opcode),
        142 => println!("{}", opcode),
        143 => println!("{}", opcode),
        144 => println!("{}", opcode),
        145 => println!("{}", opcode),
        146 => println!("{}", opcode),
        147 => println!("{}", opcode),
        148 => println!("{}", opcode),
        149 => println!("{}", opcode),
        150 => println!("{}", opcode),
        151 => println!("{}", opcode),
        152 => println!("{}", opcode),
        153 => println!("{}", opcode),
        154 => println!("{}", opcode),
        155 => println!("{}", opcode),
        156 => println!("{}", opcode),
        157 => println!("{}", opcode),
        158 => println!("{}", opcode),
        159 => println!("{}", opcode),
        160 => println!("{}", opcode),
        161 => println!("{}", opcode),
        162 => println!("{}", opcode),
        163 => println!("{}", opcode),
        164 => println!("{}", opcode),
        165 => println!("{}", opcode),
        166 => println!("{}", opcode),
        167 => println!("{}", opcode),
        168 => println!("{}", opcode),
        169 => println!("{}", opcode),
        170 => println!("{}", opcode),
        171 => println!("{}", opcode),
        172 => println!("{}", opcode),
        173 => println!("{}", opcode),
        174 => println!("{}", opcode),
        175 => println!("{}", opcode),
        176 => println!("{}", opcode),
        177 => println!("{}", opcode),
        178 => println!("{}", opcode),
        179 => println!("{}", opcode),
        180 => println!("{}", opcode),
        181 => println!("{}", opcode),
        182 => println!("{}", opcode),
        183 => println!("{}", opcode),
        184 => println!("{}", opcode),
        185 => println!("{}", opcode),
        186 => println!("{}", opcode),
        187 => println!("{}", opcode),
        188 => println!("{}", opcode),
        189 => println!("{}", opcode),
        190 => println!("{}", opcode),
        191 => println!("{}", opcode),
        192 => println!("{}", opcode),
        193 => println!("{}", opcode),
        194 => println!("{}", opcode),
        195 => println!("{}", opcode),
        196 => println!("{}", opcode),
        197 => println!("{}", opcode),
        198 => println!("{}", opcode),
        199 => println!("{}", opcode),
        200 => println!("{}", opcode),
        201 => println!("{}", opcode),
        202 => println!("{}", opcode),
        203 => println!("{}", opcode),
        204 => println!("{}", opcode),
        205 => println!("{}", opcode),
        206 => println!("{}", opcode),
        207 => println!("{}", opcode),
        208 => println!("{}", opcode),
        209 => println!("{}", opcode),
        210 => println!("{}", opcode),
        211 => println!("{}", opcode),
        212 => println!("{}", opcode),
        213 => println!("{}", opcode),
        214 => println!("{}", opcode),
        215 => println!("{}", opcode),
        216 => println!("{}", opcode),
        217 => println!("{}", opcode),
        218 => println!("{}", opcode),
        219 => println!("{}", opcode),
        220 => println!("{}", opcode),
        221 => println!("{}", opcode),
        222 => println!("{}", opcode),
        223 => println!("{}", opcode),
        224 => println!("{}", opcode),
        225 => println!("{}", opcode),
        226 => println!("{}", opcode),
        227 => println!("{}", opcode),
        228 => println!("{}", opcode),
        229 => println!("{}", opcode),
        230 => println!("{}", opcode),
        231 => println!("{}", opcode),
        232 => println!("{}", opcode),
        233 => println!("{}", opcode),
        234 => println!("{}", opcode),
        235 => println!("{}", opcode),
        236 => println!("{}", opcode),
        237 => println!("{}", opcode),
        238 => println!("{}", opcode),
        239 => println!("{}", opcode),
        240 => println!("{}", opcode),
        241 => println!("{}", opcode),
        242 => println!("{}", opcode),
        243 => println!("{}", opcode),
        244 => println!("{}", opcode),
        245 => println!("{}", opcode),
        246 => println!("{}", opcode),
        247 => println!("{}", opcode),
        248 => println!("{}", opcode),
        249 => println!("{}", opcode),
        250 => println!("{}", opcode),
        251 => println!("{}", opcode),
        252 => println!("{}", opcode),
        253 => println!("{}", opcode),
        254 => println!("{}", opcode),
        255 => println!("{}", opcode),
        _ => println!("{}", opcode),
    }
}

#[test]
fn test_execute_opcode() {
    execute_opcode(255);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant