Skip to content

Type aliases in template classes don't get defined #19

@slburson

Description

@slburson

I'm not sure whether this is a Claw bug or a libresect bug.

Consider this example:

namespace my_ns {
using conv_padding_mode_t = int;

template <int D>
struct ConvOptions {
    using padding_mode_t = conv_padding_mode_t;
    padding_mode_t& padding_mode() {
	return padding_mode_;
    }
private:
    padding_mode_t padding_mode_;
};

using Conv1dOptions = ConvOptions<1>;
} // namespace my_ns

The defifun for padding_mode references padding_mode_t, but there's no defitype for it. The problem occurs only if ConvOptions is a template class.

See libresect #12 for a convenient way to run the example. As for that bug, I think the problem here occurs in only one source file (the same one, in fact), so I can probably work around it for now by editing the file.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions