Merge pull request #87 from n8sh/getAndPopFrontSafety
Ensure getAndPopFront/getAndPopBack don't promote `system` to `safe`
This commit is contained in:
commit
73535568b7
@ -1566,6 +1566,12 @@ in (!range.empty)
|
|||||||
{
|
{
|
||||||
static if (hasLvalueElements!R)
|
static if (hasLvalueElements!R)
|
||||||
{
|
{
|
||||||
|
if (false)
|
||||||
|
{
|
||||||
|
// This code is removed by the compiler but ensures that
|
||||||
|
// this function isn't @safe if range.front isn't @safe.
|
||||||
|
auto _ = range.front();
|
||||||
|
}
|
||||||
auto el = (() @trusted => &range.front())();
|
auto el = (() @trusted => &range.front())();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1613,6 +1619,12 @@ in (!range.empty)
|
|||||||
{
|
{
|
||||||
static if (hasLvalueElements!R)
|
static if (hasLvalueElements!R)
|
||||||
{
|
{
|
||||||
|
if (false)
|
||||||
|
{
|
||||||
|
// This code is removed by the compiler but ensures that
|
||||||
|
// this function isn't @safe if range.back isn't @safe.
|
||||||
|
auto _ = range.back();
|
||||||
|
}
|
||||||
auto el = (() @trusted => &range.back())();
|
auto el = (() @trusted => &range.back())();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user