I assume you meant &b?
It is not similar at all, the only way you could claim so would be “comptime is involved”, but that is vague beyond useless.
They are completely different interactions within comptime, &type is a const pointer to comptime immutable data, data which can only exist at comptime.
comptime var b...; &b is a non-const pointer to comptime mutible data. This is memory that can only exist at comptime.
To elaborate on the differences:
The former can easily be identified by the compiler via the type
the latter cannot, at least not currently.
Prior to, I think 0.16, both were actually a compile error, that was changed because the following.
The former allows simplifying code, for example, type information contains plenty of data that could be used at runtime, you can just do that so long as the comptime only types are behind pointers, which most info types already do.
It also simplifies the compiler among many other type/comptime semantic changes that occurred at the same time (most are not visible or breaking).
Why would you want that same behaviour for comptime var?
Most code like this intends to produce runtime useable data or comptime only data. The current behaviour provides a clear boundary illustrated by a compile error if you break it from either direction.
Whereas making the behaviour the same as pointers to comptime types, would shift the error for one side deeper into analysis, producing a worse error, or even no error if you happen to not de reference the pointer.