# Imprecise \`assert\` in subtype.c?

**URL:** <https://discourse.julialang.org/t/imprecise-assert-in-subtype-c/3328>\
**Category:** Internals & Design\
**Created:** [April 21, 2017, 2:44pm UTC](https://discourse.julialang.org/t/imprecise-assert-in-subtype-c/3328 "2017-04-21T14:44:29Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ulysses](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ulysses/32/665_2.png) [@ulysses](https://discourse.julialang.org/u/ulysses)\
**Post date:** [April 21, 2017, 2:44pm UTC](https://discourse.julialang.org/t/imprecise-assert-in-subtype-c/3328/1 "2017-04-21T14:44:30Z")

</div>

```julia
typedef struct {
    int depth;
    int more;
    uint32_t stack[100]; // stack of bits represented as a bit vector
} jl_unionstate_t;

// ...

static int statestack_get(jl_unionstate_t *st, int i)
{
    assert(i >= 0 && i < sizeof(st->stack) * 8);

```

I wonder if `* 8` should really be `* 4` because of `uint32_t` type of stack elements? File an issue?

---

<div class="post-metadata">

**Author:** ![yuyichao](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yuyichao/32/20_2.png) [@yuyichao](https://discourse.julialang.org/u/yuyichao)\
**Post date:** [April 21, 2017, 3:03pm UTC](https://discourse.julialang.org/t/imprecise-assert-in-subtype-c/3328/2 "2017-04-21T15:03:50Z")

</div>

This is correct. `i` is a bit index, `sizeof` is size in bytes and `8` is bits per bytes.

---

<div class="post-metadata">

**Author:** ![ulysses](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ulysses/32/665_2.png) [@ulysses](https://discourse.julialang.org/u/ulysses)\
**Post date:** [April 21, 2017, 3:08pm UTC](https://discourse.julialang.org/t/imprecise-assert-in-subtype-c/3328/3 "2017-04-21T15:08:14Z")

</div>

My bad. Thank you.

---

<div class="post-metadata">

**Author:** ![jameson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jameson/32/23_2.png) [@jameson](https://discourse.julialang.org/u/jameson)\
**Post date:** [April 22, 2017, 4:37am UTC](https://discourse.julialang.org/t/imprecise-assert-in-subtype-c/3328/4 "2017-04-22T04:37:19Z")

</div>

It was a good question though. 🙂
