Thread overview | ||||||
---|---|---|---|---|---|---|
|
March 21, 2015 std.typecons.Flag -- public import for API users? | ||||
---|---|---|---|---|
| ||||
If I am developing a library and some of my functinos take a std.typecons.Flag as an argument, should I 'public import std.typecons: Flag, Yes, No'? It seems like it would be a pain for users of the library to have to import this separately whenever they use my library, but I'm not sure what the stance is on having your modules `public import` standard-library modules. In general, is it considered bad form to 'public import' modules from phobos? |
March 22, 2015 Re: std.typecons.Flag -- public import for API users? | ||||
---|---|---|---|---|
| ||||
Posted in reply to rcorre Attachments: | On Sat, 21 Mar 2015 23:16:37 +0000, rcorre wrote:
> If I am developing a library and some of my functinos take a std.typecons.Flag as an argument, should I 'public import std.typecons: Flag, Yes, No'?
>
> It seems like it would be a pain for users of the library to have to import this separately whenever they use my library, but I'm not sure what the stance is on having your modules `public import` standard-library modules.
>
> In general, is it considered bad form to 'public import' modules from phobos?
i believe that there is nothing wrong in such public import in this particular case.
|
March 24, 2015 Re: std.typecons.Flag -- public import for API users? | ||||
---|---|---|---|---|
| ||||
Posted in reply to rcorre | On Saturday, 21 March 2015 at 23:16:39 UTC, rcorre wrote:
> If I am developing a library and some of my functinos take a std.typecons.Flag as an argument, should I 'public import std.typecons: Flag, Yes, No'?
>
> It seems like it would be a pain for users of the library to have to import this separately whenever they use my library, but I'm not sure what the stance is on having your modules `public import` standard-library modules.
>
> In general, is it considered bad form to 'public import' modules from phobos?
Should not be necessary. privately import Flag and make a public alias:
module a;
import std.typecons : Flag;
alias SomeFlag = Flag!"SomeFlag";
SomeFlag.Yes and SomeFlag.No should be usable in other modules without additional imports.
|
March 26, 2015 Re: std.typecons.Flag -- public import for API users? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rene Zwanenburg | On Tuesday, 24 March 2015 at 16:41:28 UTC, Rene Zwanenburg wrote:
> Should not be necessary. privately import Flag and make a public alias:
>
> module a;
> import std.typecons : Flag;
>
> alias SomeFlag = Flag!"SomeFlag";
>
> SomeFlag.Yes and SomeFlag.No should be usable in other modules without additional imports.
Nice idea Rene, thanks!
|
Copyright © 1999-2021 by the D Language Foundation